_query_new_mode
更新 : 2007 年 11 月
_set_new_mode で malloc に対して設定した new ハンドラ モードを示す整数を返します。
int _query_new_mode(
void
);
戻り値
malloc に対する現在の new ハンドラのモード (0 または 1) を返します。戻り値が 1 の場合、メモリの割り当てに失敗すると、malloc が new ハンドラ ルーチンを呼び出します。戻り値が 0 の場合、malloc は new ハンドラ ルーチンを呼び出しません。
解説
C++ の _query_new_mode 関数は、C++ の _set_new_mode 関数で malloc に対して設定した new ハンドラのモードを示す整数を返します。new ハンドラのモードに応じて、メモリの割り当てに失敗した場合に、malloc 関数が _set_new_handler で設定されている new ハンドラ ルーチンを呼び出すかどうかが決まります。既定では、malloc 関数は、メモリの割り当てに失敗しても new ハンドラ ルーチンを呼び出しません。_set_new_mode 関数を使用すると、この既定の動作をオーバーライドし、malloc 関数がメモリの割り当てに失敗したときに、new 演算子がメモリの割り当てに失敗したときと同じように new ハンドラ ルーチンを呼び出すことができます。詳細については、『C++ Language Reference』の operator delete および operator new の説明を参照してください。
必要条件
ルーチン |
必須ヘッダー |
---|---|
_query_new_mode |
<new.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
ライブラリ
C ランタイム ライブラリのすべてのバージョン。
.NET Framework の相当するアイテム
適用できません。標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。