共用方式為


set_new_handler

安裝要呼叫的使用者函式,當 operator new 無法其嘗試配置記憶體時。

new_handler set_new_handler( 
   new_handler _Pnew 
) throw( );

參數

  • _Pnew
    要安裝的 new_handler。

傳回值

0 在第一次呼叫和在後續呼叫先前的 new_handler

備註

函式在維護的靜態 新的處理常式。 指標儲存 _Pnew ,然後傳回在指標先前儲存的值。 new 運算子會使用新處理常式 (size_t)。

範例

// new_set_new_handler.cpp
// compile with: /EHsc
#include<new>
#include<iostream>

using namespace std;
void __cdecl newhandler( )
{
   cout << "The new_handler is called:" << endl;
   throw bad_alloc( );
   return;
}

int main( ) 
{
   set_new_handler (newhandler);
   try
   {
      while ( 1 ) 
      {
         new int[5000000];
         cout << "Allocating 5000000 ints." << endl;
      }
   }
   catch ( exception e )
   {
      cout << e.what( ) << endl;
   }
}
  

需求

新 <的標題: >

命名空間: std