C/C++ const与#define区别

C++ 可以使用const定义常量,也可用#define定义常量,前者比后者有更多优势。

1)const数据常量有数据类型,而宏常量没有数据类型。编译器可对前者进行类型安全检查,而对后者只进行字符串替换

2)有些集成化调试工具可对const常量进行调试,但不能对宏常量进行调试,c++中只使用const常量而不使用宏常量

 

当C中的const修饰的是一个普通变量时,在C中,它总是占用内存,而且它的名字是全局符号。

C迫使程序员在预处理器中使用#define

你可能感兴趣的:(c/c++)