gpt4 book ai didi

c++ - 使用常量代替宏

转载 作者:太空宇宙 更新时间:2023-11-04 11:52:26 24 4
gpt4 key购买 nike

如果宏是用另一个像这样的宏定义的,是否可以用常量替换宏:

#define START_OFFSET    0
#define ADDRESS_OFFSET (START + START_SIZE)
#define SIZE_OFFSET (ADDRESS_OFFSET + ADDRESS_SIZE)
and so on

我不完全确定,如果我使用全局常量并用常量初始化它们会发生什么。那能算安全吗?

使用常量的原因是可以将它们包装到命名空间中。顺便说一句,我使用这些宏只是为了处理存储在字节数组中的消息。

结构序列化是更好的选择吗?

最佳答案

I'm not entirely sure, what will happen, if I use global constants and initialize them with constants. Is it safe?

是的,没关系。

const int i = 4;
const int j = 6;
const int k = i + j; // legal

Is structure serialization is better option?

这取决于你想要完成什么。现在,这个问题有点宽泛。 C++ 中没有金锤子。

关于c++ - 使用常量代替宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17595222/

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