nothrow (C++)
Microsoft 固有の仕様 →
__declspec は関数の宣言に使用できる属性を拡張します。
return-type __declspec(nothrow) [call-convention] function-name ([argument-list])
解説
この属性は宣言された関数と関数が呼び出されると例外をスローしないようにコンパイラに指示します。同期例外処理モデルを使用するとコンパイラは既定値はこのような関数のアンワインド可能オブジェクトの有効期間の追跡のしくみを削除しコード サイズを小さくできます。次のプリプロセッサ ディレクティブは3 の下の機能は同じです :
#define WINAPI __declspec(nothrow) __stdcall
void WINAPI f1();
void __declspec(nothrow) __stdcall f2();
void __stdcall f3() throw();
void __declspec(nothrow) __stdcall f2(); を使用して簡単に一連の関数で nothrow を指定するに #define のステートメントに示すような API 定義を使用することの利点があります。3 番目の宣言 , void __stdcall f3() throw(); は C++ 標準で定義されている構文です。
詳細については同期例外処理 を参照してください。
終了 Microsoft 固有の仕様→