Может ли тривиальный класс выбрасывать исключения?
Что означает конструкция noexcept(false) = default
? Как класс может быть одновременно тривиальным и выбрасывать исключения?
#include <type_traits>
struct A {
A() noexcept(false) = default;
};
static_assert(std::is_trivially_default_constructible_v<A>);
static_assert(not std::is_nothrow_default_constructible_v<A>);
Источник: Stack Overflow на русском