Anzeigen: Delphi
C++
Anzeigeeinstellungen
Abort und Destruktoren
Aus RAD Studio
Nach oben zu Destruktoren - Index
Wird die abort-Routine in einem Programm aufgerufen, werden keine Destruktoren aktiviert. Dies gilt auch für Variablen mit globalem Gültigkeitsbereich.
Ein Destruktor lässt sich auf eine der beiden folgenden Arten aufrufen: indirekt über einen Aufruf von delete oder direkt über den komplett qualifizierten Namen des Destruktors Mit delete können auch Objekte gelöscht werden, die mit new erzeugt wurden. Explizite Aufrufe von Destruktoren sind nur für Objekte nötig, die durch Aufrufe von new spezifische Adressen erhalten haben.
#include <stdlib.h> class X { public: . . . ~X(){}; . . . }; void* operator new(size_t size, void *ptr) { return ptr; } char buffer[sizeof(X)]; void main() { X* pointer = new X; X* exact_pointer; exact_pointer = new(&buffer) X; // Zeiger initialisiert bei // Adresse des Puffers . . . delete pointer; // Mit delete wird der Zeiger gelöscht. exact_pointer–>X::~X(); // direkter Aufruf zur Speicherfreigabe }