set_new_handler
Wird eine rechenintensive Benutzerfunktion, die aufgerufen werden soll, wenn operator new in seinem Versuch zur Belegung von Arbeitsspeicher fehlschlägt.
new_handler set_new_handler(
new_handler _Pnew
) throw( );
Parameter
- _Pnew
Das installiert werden new_handler.
Rückgabewert
0 beim ersten Aufruf und vorherige new_handler bei nachfolgenden Aufrufen.
Hinweise
Die Funktion speichert _Pnew in einem statischen neuen Handler Zeiger, den es wartet, gibt den Wert zurück, der zuvor im Zeiger gespeichert wird.Der neue Handler wird durch Operator neu(size_t) verwendet.
Beispiel
// 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;
}
}
Anforderungen
Header: <new>
Namespace: std