以下代码在大多数编译器上都无法编译成功:
#include <type_traits>
class Foo
{
public:
Foo() noexcept {}
~Foo() noexcept(false) {}
};
static_assert(std::is_nothrow_default_constructible_v<Foo>);
CppReference同样说明,这在编译器实现中很常见,但没有提供替代方法。如何在析构函数不影响结果的情况下测试一个构造函数是否为noexcept?