c++中的const
c++中的define
处理时机
const在运行时刻调用
define在预处理时刻调用
数据类型
define不进行类型检查,仅仅是字符的替换
const有具体的类型,会进行类型检查
存储方式
const 在内存中分配,可以减少内存空间,从汇编的角度讲对应一个内存地址,不重复分配内存
define不分配内存,在程序中有几次替换就分配几次内存
调试
集成调试工具可以对const常量进行调试,对宏常量不能调试
在C++ 程序中只使用const常量而不使用宏常量,即const常量完全取代宏常量
参考: