_new_handler
Nach oben zu new.h - Index
Header-Datei
new.h
Syntax
typedef void (*pvf)();
pvf _new_handler;
Beschreibung
_new_handler enthält einen Zeiger auf eine Funktion, die keine Argumente übernimmt und void zurückgibt. Kann der Operator new() den erforderlichen Speicher nicht zuweisen, ruft er die Funktion auf, auf die _new_handler zeigt; kehrt diese Funktion zurück, wird erneut versucht, Speicher zuzuweisen. Standardmäßig beendet die Funktion, auf die _new_handler zeigt, einfach die Anwendung. Die Anwendung kann diesen Handler jedoch durch eine Funktion ersetzen, die versucht, Speicher freizugeben. Diese Ersetzung erfolgt entweder durch eine direkte Zuweisung an _new_handler oder über den Aufruf der Funktion set_new_handler, die einen Zeiger auf den vorherigen Handler zurückgibt.
Alternativ können Sie die Funktion set_new_handler auch folgendermaßen verwenden:
pvf set_new_handler(pvf p);
_new_handler wird vor allem wegen der Kompatibilität mit C++ Version 1.2 bereitgestellt. In den meisten Fällen kann diese Funktionalität einfacher durch Überladen des Operators new() erreicht werden.
Beispiel