![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.09.2010
Сообщений: 13
|
![]()
Часто встречаю в исходниках такую конструкцию:
Код:
Последний раз редактировалось Alex11223; 21.06.2018 в 09:47. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Это альтернатива goto.
|
![]() |
![]() |
![]() |
#3 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]()
Где ты их берёшь-то? Никакого смысла не вижу в do...while (false);
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 13.09.2010
Сообщений: 13
|
![]() |
![]() |
![]() |
![]() |
#5 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]()
Скажу честно - никогда в глаза их не видал.
Что такое ATL - не знаю. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Одна из фишек do while(0) это то, что это выражение, которое требует ; в конце.
Вы не поверите, но есть (или по крайней мере были) компиляторы, которые выдают предупреждение на, по сути, пустое выражение ";". Или посмотрите на макрос типа assert и попробуйте вставить его в if. Можно конечно обойтись просто блоком { } но вложенные блоки это сравнительно недавняя возможность, плюс те же компиляторы, которые не потерпят ; в конце { }. А если кому-то не нравятся исходники Мелкомягких то можете покопаться в линуксе - там этого добра тоже навалом. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Это инструкция (statement), а не выражение (expression).
А зачем его там ставить? Как вариант — меньше вложенность. Это еще Guard называется. Например Код:
Код:
Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 21.06.2018 в 09:47. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подскажите, что означает такая конструкция int R { get; set; } | robix | C# (си шарп) | 10 | 18.06.2016 18:49 |
Почему такая конструкция не работает with Workbooks("name.xlsm").ActiveSheet. Selection ? | RISagitov | Microsoft Office Excel | 8 | 18.11.2015 12:53 |
Основные управляющие конструкции языка Delphi. Конструкция присваивания. Условная конструкция. Конструкция множественного выбора. | nadyaH | Помощь студентам | 3 | 23.11.2013 22:19 |
нужна вот такая программа | dikzz | Фриланс | 2 | 27.11.2012 01:48 |