![]() |
1
1
FOO的实际扩展到99发生在打印扩展时,在再次扫描其主体之前。ANSI标准的相关部分是:
在您的情况下,您可以通过替换来避免foo(在mac内部)的扩展
具有
|
![]() |
2
2
如果你每次都能做点什么
在这种情况下,它将扩展到
打印你想要的。 |
![]() |
3
2
如何推迟foo宏的扩展…注意:假设print()宏签名不能更改(即不能添加参数等) 你不能。 宏扩展要经过一系列步骤:
参数替换发生在参数中;在调用的情况下
参数替换的规则是,如果在替换列表中提到任何参数,并且这些参数既没有被字符串化也没有被粘贴,则会对相应的参数进行完全求值,并用结果替换那些提到的参数。在这种情况下,
再一次,
现在,没有你的限制,你可以推迟
|
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 7 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 7 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 8 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 8 月前 |