我遇到过定义如下的宏:
#define CALL_FUNCS(x)
do {
func1(x);
func2(x);
func3(x);
} while (0);
现在,这当然可以工作,但是这比下面的版本更好吗?
#define CALL_FUNCS(x)
{
func1(x);
func2(x);
func3(x);
}
我认为这与宏观优化无关。对此有什么想法吗?
最佳答案
宏实际上不应该有最后的;。这是为了在出现问题时获得有关宏的正常/更预期和有用的语法错误。
关于c - C 中特定 "do while"宏的优点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9200688/