ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 апреля
881523 Топик полностью
йцукен (08.11.2018 18:46, просмотров: 167) ответил SciFi на Гугел мне сказал, что не когда "проваливается в этот блок", а когда ход выполнения программы натыкается на объявление переменной. Поэтому для каждой переменной отдельно. Требование объявлять все переменные в шапке блока было снято уже в С99, а в
Правильно сказал гугел, а я сказал неправильно, но это не меняет того обстоятельства, что если переменные объявлены подряд, однопоточной программе хватило бы одного флага на все. Возможно, соломка не на случай исключений (объявление конструктора noexcept тоже ничего не меняет), а на ещё более экзотический случай. С другой стороны, установка флага "конструктор вызывался" и собственно вызов сделаны не атомарно, так что если исполнение функции будет прервано, и из прерывания она будет вызвана повторно, соломка не спасёт.