c++ - 在一个函数前面加[[noreturn]]是什么意思?
怪我咯
怪我咯 2017-04-17 15:36:26
0
1
986
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(1)
阿神

這是C++11attribute specifier sequence( http://en.cppreference.com/w/... )

關於[[noreturn]],官方解釋是

Indicates that the function does not return.
This attribute applies to function declarations only. The behavior is undefined if the function with this attribute actually returns.此

用來

specifier有助於編譯器進行指示函数永不返回(如尾遞歸等),
也可以用於编译优化(如
,不加抑制编译器给出不必要的警告的話,編譯器會警告int f(); f();的回傳值被忽略)[[noreturn]] f()但是,若函數的確有回傳值,而你卻指定

的話,這就是未定義行為了

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板