संभव डुप्लिकेट:
Why are there sometimes meaningless do/while and if/else statements in C/C++ macros?मैक्रो परिभाषा में {} जबकि (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)); \
}
Btw: कोड libev से है, ev_local.h
... यह करता है, लेकिन कृपया मत ... – moonshadow
यह अगर-किसी और घोंसले की संख्या कम कर देता है । – shuva