Использования noexcept
было довольно ясно для меня, как современного оптимизированного способ маркировки функций с никакой гарантии, бросить исключениеНа noexcept аргументов
struct A {
A() noexcept;
};
В пункте 14 из эффективных современных C++ Я ecountered следующий синтаксис, называемый условно noexcept
template<class T, size_t N>
void swap(T (&a)[N], T (&b)[N]) noexcept(noexcept(swap(*a, *b)));
Способ, которым я получаю это, заключается в том, что noexcept
может ввести контекст истинностного значения, но с другой стороны, как может другой noexcept быть аргументом?
Может ли кто-нибудь разработать синтаксис и семантику этого использования noexcept
?
Таким образом, оператор возвращает логическое значение, и может быть использован спецификатор. Thnx J –