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