[dcl.att.noback]提供以下示例:
[[ noreturn ]] void f() {
throw "error";
// OK
}
但我不明白[[noreturn]]
,因为函数的返回类型已经是void
.了..
那么,noreturn
属性应该怎么用?
发布于 2018-03-22 17:24:40
noreturn
不会告诉编译器该函数没有返回任何值。它告诉编译器控制流不会返回给调用者。这允许编译器进行各种优化 ,它不需要保存和恢复任何围绕该调用的易失状态,它可以使用死代码来消除任何可能跟随调用的代码。
https://stackoverflow.com/questions/-100003666
复制相似问题