iOS define 宏定义 和 const定义常量区别

const  

       const 是c++中的修饰符。  c++中常用来定义常量,修饰左值。

#define

       宏定义语句, 在预处理阶段直接做文本替换,不做类型检查。

它们之间的最大区别:

1.  对于const 变量,系统只给了一个相应的内存地址,而#define则是给出了一个立即数。因为const变量是存放在内存的静态区域中,所以在程序运行过程中const变量只有一个拷贝,而#define 所定义的宏变量却有多个拷贝,所以宏在程序运行过程中所消耗的内存要比const变量的大得多。#define所定义的宏变量在预编译的时候进行替换,const变量在编译时确定其值。const,enum 变量进符号表,可在调试中查看变量的值.而#define不行。

 

2.  const 对数据进行类型检查。#define 无需进行类型检查。定义宏参数时需将参数()起来。而且调用时参数不应在宏中再做运算。

 

3.  除了定义常量外,const 还有强大的修饰功能。#define 能增加程序的可读性,有些复杂的功能只需一条宏显示。

posted on   ACM_Someone like you  阅读(1400)  评论(0编辑  收藏  举报

编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示