noexcept(expression)
вернет true
если выражение
помечено как noexcept
и false
_ в обратном случаи...А для чего нужны спецификации исключения noexcept(true)
и noexcept(false)
, как и когда они используются?..
В зависимотсти от того, где находится noexcept( ... )
, он может имеет два разных назначения. Одно вы назвали (проверка выражения на noexcept
-ность), а вот второе:
void func() noexcept(условие) {...}
Здесь, func
будет являться noexcept
только если условие истинно.
noexcept(true)
эквивалентен noexcept
, поэтому редко используется.
noexcept(false)
обычно эквивалентен отсутствию noexcept
, с одним исключением:
Если функция является noexcept
по умолчанию (например, любой деструктор), то noexcept(false)
позволяет сделать ее не noexcept
.
Еще, иногда можно увидеть вот такую запись:
void func() noexcept(noexcept(выражение)) {...}
Здесь функция станет noexcept
, только если указанное выражение является noexcept
.
Функции:
void foo() noexcept(true);
void foo() noexcept(false);
— являются функции с разными типами (не могут формировать перегруженный набор). Это позволяет, например, интерфейсу приложения требовать callback
_и, которые (не) выбрасывают исключений
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я пытаюсь сделать диалог vuetify(библиотека vue js) растягиваемым с помощью resize jqueryЯ столкнулся с рядом проблем: 1) jquery расширяет диалог по всем...
это текст в браузере
Я знаю о последовательности ХэлтонаНо пока я не могу найти формулы, по которым генерируются точки