const 和 #define区别
来源:互联网 发布:广东体育网络体育直播 编辑:程序博客网 时间:2024/06/05 18:45
(1) 编译器处理方式不同
define宏是在预处理阶段展开。
const常量是编译运行阶段使用。
(2) 类型和安全检查不同
define宏没有类型,不做任何类型检查,仅仅是展开。
const常量有具体的类型,在编译阶段会执行类型检查。
(3) 存储方式不同
define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存。
const常量会在内存中分配(可以是堆中也可以是栈中)。
(4)const
(5) 提高了效率。编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。
转载 fenglovel的博客
0 0
- #define和const区别
- define和const区别
- const和define区别
- const 和 #define区别
- const和#define区别
- const 和 #define区别
- const 和 #define区别
- const 和 #define区别
- const 和 #define区别;
- const 和 #define区别
- const 和 #define区别
- const 和 #define区别
- const 和 #define区别
- const 和 #define区别
- const 和 #define区别
- const 和 #define区别
- const 和 #define区别
- const 和 #define区别
- python2中将含有汉字的dict转化成正常的json字符串
- 【C++ Primer 学习笔记】: 容器和算法之【泛型算法】
- 深度分析WM_PAINT和WM_ERASEBKGND消息
- android 过度绘制
- Android 自定义圆角ImageView
- const 和 #define区别
- 工作备忘-在xib/storyboard里面设置view圆角半径
- POJ 1321 *** 棋盘问题
- bootstrap-模态框
- 抗战时期为何汉奸多?
- oracle pipelined 自定义函数 function 返回table格式
- CSS实现div的高度填满剩余空间
- Linux中只列出目录
- 可选型(optional)