gpt4 book ai didi

c++ - 静态常量 vs #define

转载 作者:IT老高 更新时间:2023-10-28 11:27:57 27 4
gpt4 key购买 nike

static const更好吗?变数比 #define预处理器?或者这取决于上下文?

每种方法的优点/缺点是什么?

最佳答案

就个人而言,我讨厌预处理器,所以我总是使用 const .
#define的主要优势是它不需要内存来存储在您的程序中,因为它实际上只是用文字值替换一些文本。它还具有没有类型的优点,因此它可以用于任何整数值而不会产生警告。

const ”的优点是可以限定作用域,可以在需要传递对象指针的情况下使用。

我不知道你对“static ”部分到底是什么意思。如果您是全局声明,我会将它放在匿名命名空间中,而不是使用 static .例如

namespace {
unsigned const seconds_per_minute = 60;
};

int main (int argc; char *argv[]) {
...
}

关于c++ - 静态常量 vs #define,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1637332/

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