Partager via


set_new_handler

Installe une fonction d'utilisateur qui doit être appelée lorsque operator new échoue dans sa tentative d'allocation de mémoire.

new_handler set_new_handler(
   new_handler _Pnew
) throw( );

Paramètres

  • _Pnew
    Le new_handler à installer.

Valeur de retour

0 sur le premier appel et new_handler précédent sur les appels suivants.

Notes

La fonction signale _Pnew dans un pointeur statique de nouveau gestionnaire qu'il met à jour, puis retourne la valeur précédemment enregistrée dans le pointeur.Le nouveau gestionnaire est utilisé par opérateur new(size_t).

Exemple

// 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;
   }
}
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

Configuration requise

en-tête : <new>

l'espace de noms : DST