C ++ 11,`noexcept`说明符,定义与声明

时间:2015-04-21 15:07:00

标签: c++ c++11 function-declaration noexcept

如果声明的函数具有noexcept特定者(noexceptnoexcept(true)noexcept(false)或任何其他noexcept(expr),其评估结果为truefalse),但它在另一个地方定义,我是否需要再次在定义中指定noexcept说明符,或仅在其前向声明中指定?

1 个答案:

答案 0 :(得分:14)

[except.spec] / P4:

  

如果函数的任何声明具有 exception-specification   不是所有异常的 noexcept-specification   声明,包括定义和任何明确的   专业化,该功能应具有兼容性   异常规范

noexcept(some-constant-expression-that-evaluates-to-false)可能会被省略。所有声明中都必须包含任何其他内容。