为什么在宏中使用明显无意义的do-while和if-else语句?
在许多C / C ++宏中,我看到宏的代码包含在看似无意义的do while循环中。这是一些例子。
#define FOO(X) do { f(X); g(X); } while (0)
#define FOO(X) if (1) { f(X); g(X); } else我看不出它do while在做什么。为什么不在没有它的情况下写这个?
#define FOO(X) f(X); g(X)
慕妹3242003
胡说叔叔
四季花海
月关宝盒
长风秋雁
随时随地看视频慕课网APP