可能性の重複:私は以下のようなコードを満たさ
Why are there sometimes meaningless do/while and if/else statements in C/C++ macros?なぜマクロ定義でdo()while(0)を使うのですか?
:
#define ev_io_init(ev,cb,fd,events) \
do { \
ev_init ((ev), (cb)); \
ev_io_set ((ev),(fd),(events)); \
} while (0)
私は著者がここにdo { } while (0)
を使う理由を知りたいです。 これに違いはありますか?
#define ev_io_init(ev,cb,fd,events) { \
ev_init ((ev), (cb)); \
ev_io_set ((ev),(fd),(events)); \
}
ところで:コードがlibevはからで、ev_local.h
...それがないが、しないでください... – moonshadow
それがあれば、他のネストの数を減らします。 – shuva