noreturn相关内容

noreturn 的意义何在?

[dcl.attr.noreturn] 提供以下示例: [[ noreturn ]] void f() {抛出“错误";//行} 但是我不明白[[noreturn]]的意义何在,因为函数的返回类型已经是void了. 那么,noreturn 属性的意义何在?应该怎么用? 解决方案 noreturn 属性应该用于不返回调用者的函数.这并不意味着 void 函数(确实返回给调用者 - ..
发布时间:2022-01-13 17:36:41 C/C++开发

不归路的意义何在?

[dcl.attr.noreturn] 提供了以下示例: [[ noreturn ]] void f() {抛出“错误";//好的} 但是我不明白[[noreturn]]有什么意义,因为函数的返回类型已经是void. 那么,noreturn 属性的意义何在?应该怎么用? 解决方案 noreturn 属性应该用于不返回给调用者的函数.这并不意味着 void 函数(它们确实返回给调用 ..
发布时间:2021-11-30 15:49:20 C/C++开发

何时以及如何在 Swift 中使用 @noreturn 属性?

我在 guard-else 流的上下文中阅读了关键字 else 后用大括号括起来的代码块,必须调用标有 的函数noreturn 属性或使用 return、break、continue 或 throw 转移控制. 最后一部分很清楚,而第一部分我不太明白. 首先,即使你没有声明任何返回类型,任何函数都会返回一些东西(至少是一个空元组).其次,我们什么时候可以使用 noreturn 函数?文 ..
发布时间:2021-09-01 20:46:15 移动开发

为什么noreturn/__ builtin_unreachable阻止尾部调用优化

我发现,如果一个被调用的函数不返回(即标记为 _Noreturn / [[noreturn]] ),则所有主要的编译器都不会进行尾部调用优化.或通话后有 __ builtin_unreachable()).这是预期的行为,而不是错过的优化吗?如果是,为什么? 示例1: #ifndef __cplusplus#define NORETURN _Noreturn#别的#define NORE ..
发布时间:2021-04-19 19:42:50 C/C++开发

覆盖[[noreturn]]虚拟函数

[[noreturn]] 属性可以应用于不打算返回的函数。例如: [[noreturn]] void will_throw(){throw std :: runtime_error(“ bad,bad,bad。 ...“); } 但是我遇到了以下情况(不,我没有设计): class B { public: virtual void f(){throw std ..
发布时间:2020-09-27 19:08:14 C/C++开发