_new_handler

Aus RAD Studio
Wechseln zu: Navigation, Suche

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