noexcept operator (начиная с C++11)
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google.
Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке. Щёлкните здесь, чтобы увидеть английскую версию этой страницы |
noexcept оператор выполняет во время компиляции проверки, которая возвращает истину, если выражение объявляется не бросать исключения.Оригинал:
The
noexcept operator performs a compile-time check that returns true if an expression is declared to not throw any exceptions.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Он может быть использован в течение <div class="t-tr-text"> noexcept спецификатор
шаблон функции, чтобы объявить, что функция будет генерировать исключения для некоторых типов, но не другие.Оригинал:
noexcept specifier
Текст был переведён автоматически используя [http://translate.google.com Переводчик Google].
Вы можете проверить и исправить перевод. Для инструкций щёлкните [http://en.cppreference.com/w/Cppreference:MachineTranslations сюда].
Вы можете проверить и исправить перевод. Для инструкций щёлкните [http://en.cppreference.com/w/Cppreference:MachineTranslations сюда].
Оригинал:
It can be used within a function template's
noexcept спецификатор</div> to declare that the function will throw exceptions for some types but not others.
Оригинал:
noexcept specifier
Текст был переведён автоматически используя [http://translate.google.com Переводчик Google].
Вы можете проверить и исправить перевод. Для инструкций щёлкните [http://en.cppreference.com/w/Cppreference:MachineTranslations сюда].
Вы можете проверить и исправить перевод. Для инструкций щёлкните [http://en.cppreference.com/w/Cppreference:MachineTranslations сюда].
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Содержание |
[править] Синтаксис
noexcept( expression )
|
|||||||||
Возвращает объект типа bool.
Оригинал:
Returns an object of type bool.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Объяснение
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.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- позвонить в любой тип функции, которые не имеют не метание спецификации исключения, если это не <div class="t-tr-text"> постоянное выражение.Оригинал:constant expressionТекст был переведён автоматически используя [http://translate.google.com Переводчик Google].
Вы можете проверить и исправить перевод. Для инструкций щёлкните [http://en.cppreference.com/w/Cppreference:MachineTranslations сюда].Оригинал:call to any type of function that does not have non-throwing exception specification, unless it is aТекст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. -
throwвыражениеОригинал:throwexpressionТекст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. -
dynamic_castвыражение, когда преобразование необходимо выполнить проверку временемОригинал:dynamic_castexpression when the conversion needs a run time checkТекст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. -
typeidвыражение, когда аргумент типа полиморфного типа классаОригинал:typeidexpression when argument type is polymorphic class typeТекст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
-
Во всех остальных случаях результат
true.Оригинал:
In all other cases the result is
true.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Ключевые слова
[править] Пример
Запустить этот код
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. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
| Спецификация исключения | указывает, что исключений функцией (устарело)
Оригинал: specifies what exceptions are thrown by a function (устарело) Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |

