【发布时间】:2013-06-17 13:31:56
【问题描述】:
宏#define MAX 80 等价于const int MAX = 80; 都是常量,不能修改。
用宏代替常量不是更好吗?常量整数占用内存。宏的名称被预处理器替换为它的值,对吧?所以它不会占用内存。
为什么我要使用 const int 而不是宏?
【问题讨论】:
-
const是类型安全的(er),提供更好的错误,并且可以由编译器更好地优化。 -
"常量整数占用内存。宏的名称被预处理器的值替换为它的值,对吗?所以它不会占用内存。" 那么宏值必须在asm 在某个地方,所以它肯定会占用内存。