gpt4 book ai didi

c++ - #define 和 const 有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 12:29:47 25 4
gpt4 key购买 nike

Possible Duplicates:
Why would someone use #define to define constants?
difference between a macro and a const in c++
C++ - enum vs. const vs. #define

使用 #defineconst 创建常量有什么区别?有没有比另一个有性能优势?当然,我更喜欢使用 const,但如果它有合适的优势,我会考虑使用 #define

最佳答案

#define 指令是一个预处理器 指令;预处理器用它们的主体替换这些宏在编译器甚至看到它之前。将其视为对源代码的自动搜索和替换。

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

哦,性能:也许您认为避免声明变量可以节省时间和空间,但是对于任何合理的编译器优化级别都没有区别,因为常量值已经在编译时被替换和折叠。但是你获得了类型检查和让调试器知道你的代码的巨大优势,所以真的没有理由不使用 const 变量。

关于c++ - #define 和 const 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6442328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com