Пространства имён
Варианты
Действия

noexcept operator (начиная с C++11)

Материал из cppreference.com

 
 
Язык С++
Общие темы
Управление программой
Операторы условного выполнения
Операторы повторения
Операторы перехода
Функции
объявление функции
объявление лямбда-функции
шаблон функции
спецификатор inline
спецификаторы исключений (устарело)
спецификатор noexcept (C++11)
Исключения
Пространства имён
объявление пространства имён
псевдонимы пространства имён
Типы
спецификатор decltype (C++11)
Спецификаторы
cv-спецификаторы
спецификаторы продолжительности хранения
спецификатор constexpr (C++11)
спецификатор auto (C++11)
спецификатор alignas (C++11)
Инициализация
Литералы
Выражения
Утилиты
Типы
typedef-объявление
объявление псевдонима типа (C++11)
атрибуты (C++11)
Приведения типов
неявные преобразования
const_cast-преобразование
static_cast-преобразование
dynamic_cast-преобразование
reinterpret_cast-преобразование
C-подобное и функциональное приведение типов
Выделение памяти
Классы
Особые свойства классовых функций
Специальные функции-члены
Шаблоны
шаблон класса
шаблон функции
специализация шаблона
упакованные параметры (C++11)
Разное
Ассемблерные вставки
 
noexcept оператор выполняет во время компиляции проверки, которая возвращает истину, если выражение объявляется не бросать исключения.
Original:
The noexcept operator performs a compile-time check that returns true if an expression is declared to not throw any exceptions.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
шаблон функции, чтобы объявить, что функция будет генерировать исключения для некоторых типов, но не другие.
Original:
It can be used within a function template's
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Содержание

[править] Синтаксис

noexcept( expression )
Возвращает объект типа bool.
Original:
Returns an object of type bool.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[править] Объяснение

noexcept оператор не оценить expression. В результате false если expression содержит по меньшей мере одну из следующих потенциально оценивается конструкций
Original:
The noexcept operator does not evaluate expression. The result is false if the expression contains at least one of the following potentially evaluated constructs:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Во всех остальных случаях результат true.
Original:
In all other cases the result is true.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[править] Ключевые слова

noexcept

[править] Пример

template <class T>
void self_assign(T& t) noexcept(noexcept(T::operator=))
{ // self_assign is noexcept if and only if T::operator= is noexcept
    t = t;
}


[править] См. также

noexcept спецификатор
требуется функция не бросать исключения (C++11)
Original:
requires a function to not throw any exceptions (C++11)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
[edit]
Спецификация исключения
указывает, что исключений функцией (устарело)
Original:
specifies what exceptions are thrown by a function (устарело)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
[edit]