是否可以用常量替换宏,如果用另一个宏定义宏,如下所示:
#define START_OFFSET 0
#define ADDRESS_OFFSET (START + START_SIZE)
#define SIZE_OFFSET (ADDRESS_OFFSET + ADDRESS_SIZE)
and so on
我不完全确定,如果我使用全局常量并使用常量初始化它们会发生什么。这可以被认为是安全的吗?
使用常量的原因是可以将它们包装到命名空间中。 顺便说一句,我正在使用这些宏只用于处理存储在字节数组中的消息。
结构序列化是更好的选择吗?
答案 0 :(得分:1)
我不完全确定,如果我使用全局常量并用常量初始化它们会发生什么。这样安全吗?
是的,没关系。
const int i = 4;
const int j = 6;
const int k = i + j; // legal
结构序列化是更好的选择吗?
这取决于你想要完成什么。现在,这个问题略宽。 C ++中没有金锤。