![]() |
1
3
使用GCC,可以创建如下宏:
但这使用
它不需要任何参数,因为它使用GCC扩展
当然,实际上这样做可能是个坏主意,因为你几乎在重新设计语言本身,从而使其他人更难理解。 |
|
2
3
我完全可以看到做这样的事情只是为了好玩。但我会小心地在其他人使用或看到的任何代码中使用这种黑客手段。
努力使用您正在使用的语言的惯例。
所以要么坚持
|
![]() |
3
1
如果您不想要“with params”和“no params”版本,并且不介意源代码中的括号不匹配,可以尝试:
并将其称为:
但这很难看。 |
![]() |
Timo · 如果宏变量后跟构成有效标识符的字符,则不会展开宏变量 7 年前 |
![]() |
user3623498 · 在#if中更改变量时出现问题 7 年前 |
![]() |
einpoklum · 来自#cmakedefine替换的意外结果 7 年前 |
![]() |
Joseph Franciscus · C中预处理器方法的别名++ 7 年前 |
![]() |
stoper · 防止同一宏在多个转换单元中具有不同的定义 7 年前 |
![]() |
СеÑгей · MinGW中预处理器g++的奇怪行为 7 年前 |