完整的问题适合标题。这是一个简单的例子:
constexpr int increment(int const value) /*noexcept?*/ {
return value + 1;
}
据我所知,noexcept
在决定是否用功能标记功能时应解释为“ nofail”。因此,throw
ing的所有可能情况并不是必须考虑的唯一推理。
我未使用C ++ 20,因此尚未定义我的签名溢出。 :)
据我所知,noexcept应该解释为“ nofail”
这是不正确的。 noexcept
的字面意思是“我保证此函数永远不会引发异常”。还有很多其他类型的故障,例如分段错误,非法指令,纯虚拟函数的调用,整数除以零,更不用说“会计中的鲍勃告诉我,我们所有的客户编号都只包含数字,但是我刚刚发现我们的第一个客户的ID实际上是Q001,并且无法解析。“