次の方法で共有


_query_new_mode

_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