![]() |
1
8
C和C++标准明确允许这样做(并要求没有无限扩展) 顺便说一句,类似递归(或 self-refential )宏更有用:
(内部
您的定义可能很有用,例如,对于以后的构造,如
|
![]() |
2
7
它允许用户代码根据是否定义这些宏进行有条件编译:
|
![]() |
3
4
它被称为自参考宏。 根据 gcv 参考:
参考示例:
|
![]() |
Timo · 如果宏变量后跟构成有效标识符的字符,则不会展开宏变量 6 年前 |
![]() |
user3623498 · 在#if中更改变量时出现问题 6 年前 |
![]() |
einpoklum · 来自#cmakedefine替换的意外结果 7 年前 |
![]() |
Joseph Franciscus · C中预处理器方法的别名++ 7 年前 |
![]() |
stoper · 防止同一宏在多个转换单元中具有不同的定义 7 年前 |
![]() |
СеÑгей · MinGW中预处理器g++的奇怪行为 7 年前 |