C++ 中 #define 和 const 关键字的区别是什么?


#define 指令是一个预处理器指令;预处理器用宏替换那些宏,即使编译器还没看到它。可以把它想象成对源代码进行自动搜索和替换。

const 变量声明在语言中声明了一个实际的变量,您可以像使用真正的变量一样使用它:获取其地址、传递它、转换它等。

如果没有编译器优化,在不同的情况下,这两种使用方法都会产生内存分配的隐藏成本。但是,经过适当的优化后,它们几乎是一样的。此外,预处理器宏没有任何作用域,而 const 值则有。

更新于: 30-Jul-2019

293 次浏览

开启您的职业生涯

完成课程以获取认证

开始
广告
© . All rights reserved.