Итак, то, что документы говорят о -фнотроу -opt < /code>: < /p>
Обработка спецификации исключения throw (), как если бы это была спецификация безэкспрессии, чтобы уменьшить или устранить изгиб размер текста относительно функции без спецификации исключения. Если функция имеет локальные переменные типов с нетривиальными деструкторами, спецификация исключения фактически делает функцию меньшей, поскольку очистки EH для этих переменных могут быть оптимизированы. Семантический эффект состоит в том, что исключение, извлеченное из функции с такой спецификацией исключения, приводит к прекращению, а не неожиданному. Но оба эти языковых элемента были удалены (спецификация динамического исключения в C ++ 17 и спецификатор noExcept в C ++ 20). Так оказывает ли этот вариант какое -либо влияние при использовании новых стандартов C ++? Документы ничего не упоминают об этом.
Подробнее здесь: https://stackoverflow.com/questions/796 ... -c-standar