| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > 'do {... some code ... } while(0)' в макросах. |
| Автор: boostcoder 11.2.2012, 15:18 | ||
| привет. часто в макросах встречаю такой код:
вместо "... some code ..." может быть что угодно. от условий и до циклов. но для чего оборачивать в 'do{}while(0)' ? спасибо. |
| Автор: rumit7 11.2.2012, 15:30 | ||||
Чтобы после макроса можно было ставить ";" и http://stackoverflow.com/questions/1067226/c-multi-line-macro-do-while0-vs-scope-block. |
| Автор: boostcoder 11.2.2012, 15:35 | ||
а что мешает?:
Добавлено через 3 минуты и 8 секунд почитал. по моему, надуманная проблема.. Добавлено через 7 минут и 36 секунд пытаются что-то объяснить про ';'. но символы ';' можно записывать подряд сколько угодно раз. |
| Автор: rumit7 11.2.2012, 15:52 | ||||||||||
Сравни http://liveworkspace.org/code/717482dc84d5f2706255357e25d08e0d:
и http://liveworkspace.org/code/e45d93671e14cfa792db6f3d4e23c98d:
Второй код не компилится. Вот вывод компилятора:
|
| Автор: boostcoder 11.2.2012, 15:53 |
| rumit7, а! доехал! спасибо. вопрос исчерпан. |