Possible Duplicate:
Why are there sometimes meaningless do/while and if/else statements in C/C++ macros?do {...} while (0) - для чего это полезно?
Я видел это выражение уже более 10 лет. Я пытался подумать, для чего это полезно. Поскольку я вижу это в основном в #defines, я предполагаю, что он хорош для объявления внутренней видимости области и для использования перерывов (вместо gotos.)
Хорошо ли для чего-нибудь еще? Вы используете его?
Посмотрите [этот вопрос] (http://stackoverflow.com/questions/243967/do-you-consider-this-technique -Плохо). – 2008-11-02 21:38:10
На самом деле, это не дубликат, поскольку связанный q/a не является специфичным для определения. Легко сравнить оба ответа, чтобы утверждать, что это не дубликат. – Doomsday 2012-05-18 15:44:32
См. «Декрет_используется» в строке Redis 53 [ссылка] https://github.com/antirez/redis-tools/blob/master/zmalloc.c – yet 2012-12-09 21:57:02