预处理器存储的宏定义
Macro definition stored by preprocessor
以这种方式声明宏后,我不应该收到警告或错误消息吗:
#define c 123
#define a b
#define b c
代码运行完美 - 就像变量定义一样,宏定义是否存储在某处?
这很好,因为预处理器在扩展点之前不会对宏定义进行操作。这就是顺序无关紧要的原因:只要每个宏都有一个定义,当您的代码引用它时可以将其扩展到该定义,预处理器就会很高兴。这适用于依赖其他宏进行扩展的宏。
此行为的一个后果是宏声明的相对顺序不会改变最终结果。
以这种方式声明宏后,我不应该收到警告或错误消息吗:
#define c 123
#define a b
#define b c
代码运行完美 - 就像变量定义一样,宏定义是否存储在某处?
这很好,因为预处理器在扩展点之前不会对宏定义进行操作。这就是顺序无关紧要的原因:只要每个宏都有一个定义,当您的代码引用它时可以将其扩展到该定义,预处理器就会很高兴。这适用于依赖其他宏进行扩展的宏。
此行为的一个后果是宏声明的相对顺序不会改变最终结果。