DO{…}When(0)-它有什么好處?我看到這種表情已經(jīng)有十多年了。我一直在想這有什么好處。由于我主要是在#Definition中看到它,所以我認為它有利于內(nèi)部范圍變量聲明和使用中斷(而不是Gotos)。對別的有好處嗎?你用過嗎?
3 回答

慕尼黑的夜晚無繁華
TA貢獻1864條經(jīng)驗 獲得超6個贊
#define
if
#define FOO(x) foo(x); bar(x)if (condition) FOO(x);else // syntax error here ...;
#define FOO(x) { foo(x); bar(x); }
if
if (condition) FOO(x)else ...
#define FOO(x) do { foo(x); bar(x); } while (0)
if (condition) FOO(x);else ....

慕斯709654
TA貢獻1840條經(jīng)驗 獲得超5個贊
do { // do something if (error) { break; } // do something else if (error) { break; } // etc..} while (0);

浮云間
TA貢獻1829條經(jīng)驗 獲得超4個贊
#define FOO(n) foo(n);bar(n)
void foobar(int n){ if (n) FOO(n);}
void foobar(int n){ if (n) foo(n);bar(n);}
- 3 回答
- 0 關注
- 527 瀏覽
添加回答
舉報
0/150
提交
取消