c ++标准节id其中提到Destructors是隐式没有抛出的

Aru*_*run 6 c++ destructor exception language-lawyer c++11

我在某处读到,自c ++ 11以来,隐式声明了析构函数noexcept(true).

从标准部分12.4

没有异常规范的析构函数声明具有与隐式声明的相同的异常规范

但是在标准中没有任何地方可以找到一个部分,其中包含析构函数是隐含的noexcept(true).谁能指出我可以找到这些信息的部分?

Bar*_*rry 3

我相信您正在寻找 \xc2\xa715.4/14 (强调我的):

\n\n
\n

继承构造函数 (12.9) 和隐式声明的特殊成员函数(第 12 条)具有异常规范。如果f是继承构造函数或隐式声明的默认构造函数、复制构造函数、移动构造T函数、析构函数、复制赋值运算符或移动赋值运算符,则当且仅当T允许时,其隐式异常规范指定类型 ID由f\xe2\x80\x99s 隐式定义直接调用的函数的异常规范\n ;f如果 f 直接调用的任何函数允许所有异常,则允许所有异常;如果 f 直接调用的每个函数都不允许异常,则 f 具有异常规范 noexcept(true)。[注意:如果 它不调用其他函数,则f具有异常规范noexcept(true)\n\xe2\x80\x94结束注]

\n
\n