std::terminate.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpExVl 460 of 696 menu
◀ ▶

Нарушение запрета в C++

Нарушение noexcept наступает, когда исключение выходит из функции, объявленной с запретом.

Стандарт в этом случае вызывает std::terminate - аварийное завершение без обычного перехвата. Поэтому в теле такой функции нельзя допускать необработанный throw наружу: либо не бросают, либо перехватывают внутри до выхода.

Рабочий пример - безопасное сложение без исключений, помеченное noexcept:

#include <iostream> int add_quiet(int left, int right) noexcept { return left + right; } int main() { std::cout << add_quiet(3, 5) << "\n"; return 0; }

Объявите int mul_quiet(int a, int b) noexcept как произведение аргументов. Выведите результат для 6 и 7.

Напишите bool in_range(int x) noexcept, истинную для 0..9 включительно. Выведите ответ для 4 и 12.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить