Aru*_*run 6 c++ destructor exception language-lawyer c++11
我在某处读到,自c ++ 11以来,隐式声明了析构函数noexcept(true)
.
从标准部分12.4
没有异常规范的析构函数声明具有与隐式声明的相同的异常规范
但是在标准中没有任何地方可以找到一个部分,其中包含析构函数是隐含的noexcept(true)
.谁能指出我可以找到这些信息的部分?
我相信您正在寻找 \xc2\xa715.4/14 (强调我的):
\n\n\n\n继承构造函数 (12.9) 和隐式声明的特殊成员函数(第 12 条)具有异常规范。如果
\nf
是继承构造函数或隐式声明的默认构造函数、复制构造函数、移动构造T
函数、析构函数、复制赋值运算符或移动赋值运算符,则当且仅当T
允许时,其隐式异常规范指定类型 ID由f
\xe2\x80\x99s 隐式定义直接调用的函数的异常规范\n ;f
如果 f 直接调用的任何函数允许所有异常,则允许所有异常;如果 f 直接调用的每个函数都不允许异常,则 f 具有异常规范 noexcept(true)。[注意:如果 它不调用其他函数,则f
具有异常规范noexcept(true)
\n。\xe2\x80\x94结束注]
归档时间: |
|
查看次数: |
179 次 |
最近记录: |