Коли слід використовувати специфікатор noexcept

Принципи Стандартної бібліотеки С++ у тому, щоб використовувати специфікатор noexcept тільки для тих функцій, які НЕ ПОВИННІ викидати винятки або аварійно завершувати свою роботу.15 вер. 2021 р.

Для чого писати Noexcept?

У С++11 до мови був доданий модифікатор noexcept, який дозволяє розробнику зрозуміти, що з позначеної noexcept-ом функції (або методу) виключення вилетіти не можуть. Тому функції з такою позначкою можуть сміливо використовуватись у контекстах, де винятки не повинні виникати.

Що буде якщо виняток все ж таки залишає функцію позначену як Noexcept?

Якщо виняток виходить із зовнішньої області функції, позначеної як позначена noexcept , std::terminate викликається негайно, і немає жодної гарантії, що деструктори будь-яких об'єктів в області будуть викликані. Збережена копія