Share via


_query_new_mode

更新 : 2007 年 11 月

_set_new_modemalloc に対して設定した 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 を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。

参照

参照

メモリ割り当て

calloc

free

realloc

_query_new_handler