_new_handler
new.h:インデックス への移動
ヘッダーファイル
new.h
構文
typedef void (*pvf)();
pvf _new_handler;
説明
_new_handler には,引数がなく,void を返す関数へのポインタが含まれます。operator new() は,必要な領域を割り当てることができない場合,_new_handler が指す関数を呼び出します。その関数が戻ると,再度割り当てを試みます。デフォルトでは,_new_handler が指す関数は,単にアプリケーションを終了します。ただし,このハンドラをアプリケーションで別の関数に置き換えて,領域の解放を試みることができます。それには,_new_handler に直接割り当てるか,関数 set_new_handler を呼び出します。この関数は,前のハンドラへのポインタを返します。
別の方法として,関数 set_new_handler を次のように使用することもできます。
pvf set_new_handler(pvf p);
_new_handler は,主に C++ バージョン 1.2 との互換性を維持するために提供されています。通常,この機能は,operator new() のオーバーロードによって提供されます。