noexcept说明符

noexcept说明指定某个函数不会抛出异常,直接加在函数的参数列表后面。在成员函数中,noexcept说明符需要跟在const及引用限定符之后,而在final、override或虚函数的=0之前。

需要出现在函数的所有声明语句和定义语句中,也可以在函数指针的声明和定义中指定noexcept。

如果违法了异常说明,仍然在函数中抛出异常,将直接终止程序。

noexcept说明符接受一个可选的实参,该实参必须能转换为bool类型:如果实参是true,则函数不会抛出异常;如果实参是false,则函数可能抛出异常。

noexcept运算符

noexcept运算符是一个一元运算符,它的返回值是一个bool类型的右值常量表达式,用于表示给定的表达式是否会抛出异常。和sizeof类似,noexcept也不会求其运算对象的值。