Jens Asked:2020-02-26 01:25:41 +0000 UTC2020-02-26 01:25:41 +0000 UTC 2020-02-26 01:25:41 +0000 UTC C++ 异常规范 772 指示函数正在抛出异常的正确方法是什么?写throw(...)或列出可能的例外情况或什么都不写? 还有一个问题:后面的括号里是noexcept什么? c++ 1 个回答 Voted Best Answer AnT stands with Russia 2020-02-26T01:44:38Z2020-02-26T01:44:38Z 如果函数抛出异常,则什么也不做。(或者你可以等效地写noexcept(false))。 括号中的noexcept内容取决于noexcept您所谈论的是哪一个。有一个 operator noexcept和一个specifier noexcept。 运算符noexcept 检查表达式的 noexcept 状态。这是一个编译时运算符。操作数是一个表达式,您想知道其 noexcept 状态。编译时运算符将返回trueor false。 noexcept相反,说明符将noexcept 状态分配给函数。它声明给定函数是否noexcept存在。只是noexcept说功能是noexcept。在带有布尔操作数的变体中,noexcept-status 由布尔表达式的值决定。 例如,以下示例同时使用运算符noexcept和说明符noexcept void bar() noexcept(noexcept(foo())); ^ ^ | | | оператор спецификатор 该函数bar()将以与foo().
如果函数抛出异常,则什么也不做。(或者你可以等效地写
noexcept(false))。括号中的
noexcept内容取决于noexcept您所谈论的是哪一个。有一个 operatornoexcept和一个specifiernoexcept。运算符
noexcept检查表达式的 noexcept 状态。这是一个编译时运算符。操作数是一个表达式,您想知道其 noexcept 状态。编译时运算符将返回trueorfalse。noexcept相反,说明符将noexcept 状态分配给函数。它声明给定函数是否noexcept存在。只是noexcept说功能是noexcept。在带有布尔操作数的变体中,noexcept-status 由布尔表达式的值决定。例如,以下示例同时使用运算符
noexcept和说明符noexcept该函数
bar()将以与foo().