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

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

Материал из cppreference.com
< cpp‎ | language

 
 
Язык С++
Общие темы
Управление программой
Операторы условного выполнения
Операторы повторения
Операторы перехода
Функции
объявление функции
объявление лямбда-функции
шаблон функции
спецификатор 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 оператор выполняет во время компиляции проверки, которая возвращает истину, если выражение объявляется не бросать исключения.
Оригинал:
The noexcept operator performs a compile-time check that returns true if an expression is declared to not throw any exceptions.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
шаблон функции, чтобы объявить, что функция будет генерировать исключения для некоторых типов, но не другие.
Оригинал:
It can be used within a function template's
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

Содержание

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

noexcept( expression )
Возвращает объект типа bool.
Оригинал:
Returns an object of type bool.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

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

noexcept оператор не оценить expression. В результате false если expression содержит по меньшей мере одну из следующих потенциально оценивается конструкций
Оригинал:
The noexcept operator does not evaluate expression. The result is false if the expression contains at least one of the following potentially evaluated constructs:
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Во всех остальных случаях результат true.
Оригинал:
In all other cases the result is true.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

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

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)
Оригинал:
requires a function to not throw any exceptions (C++11)
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
[edit]
Спецификация исключения
указывает, что исключений функцией (устарело)
Оригинал:
specifies what exceptions are thrown by a function (устарело)
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
[edit]