C属性:noreturn, _Noreturn (C23以降)
From cppreference.com
< c | language | attributes
関数が戻らないことを示します。
目次 |
[編集] 構文
[[ noreturn ]][[ __noreturn__ ]] |
|||||||||
[[ _Noreturn ]][[ ___Noreturn__ ]] |
(非推奨) | ||||||||
[編集] 説明
関数が戻らないことを示します。
この属性は関数の名前に適用され、関数がreturn文の実行や関数本体の末尾への到達によって戻らないことを指定します(longjmpの実行による戻りは可能です)。この属性を持つ関数が実際に戻った場合、動作は未定義です。検出可能な場合は、コンパイラによる診断が推奨されます。
これは以前はキーワード_Noreturnで示されていましたが、C23で非推奨となり、この属性に置き換えられました。
[編集] 標準ライブラリ
以下の標準関数はnoreturn属性で宣言されています(C23までは_Noreturn指定子で宣言されていました)。
[編集] 関連項目
| Cドキュメント (_Noreturn)
| |
| C++ドキュメント (
[[noreturn]]) |