C++ 中,#define 和 const 关键字有什么差别?


#define 指令是预处理指令;即预处理程序在编译程序看到它之前,用宏体的各个部分替换这些宏。

const 变量声明在语言中声明了一个真正的变量,可将其当作一个真实的变量使用:获取其地址、四处传递、强制转换为其他类型、转换等。

如果没有编译程序优化,在不同的情况下,宏定义和 const 变量都对应着内存分配的隐含成本。但是,使用适当的优化措施后,它们几乎是一样的。此外,预处理程序宏没有任何作用域,而 const 值是有作用域的。

更新时间:2019 年 7 月 30 日

293 次查看

开启你的 职业之路

完成课程即可获得认证

立即开始
广告