【发布时间】:2011-08-11 05:12:16
【问题描述】:
如何在 C 中的 #define 指令中编写 for/while 循环?
【问题讨论】:
-
您认为这是个好主意吗?短函数有什么问题?例如,函数不必将迭代变量泄漏到使用它的作用域中......
-
@delnan:虽然我同意在几乎所有情况下都应该优先使用函数而不是宏,但要求 for 循环的声明(第一部分)不能泄露到外部。
-
@Thomas Edleson:考虑一下,是的,你是对的。即使在您无法使用
for (int i = 0; ...)的旧语言版本中,将其包装在do { } while (0)中也会创建一个新的范围。 -
@delnan:为什么不把它包在
{...}中;do/while是多余的。 -
@Software Monkey:见stackoverflow.com/questions/154136/…
标签: c for-loop c-preprocessor