Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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