delete
Nach oben zu Schlüsselwörter alphabetisch - Index
Kategorie
Operatoren, C++-spezifische Schlüsselwörter
Syntax
void operator delete(void *ptr) throw();
void operator delete(void *ptr, const std::nothrow_t&) throw();
void operator delete[](void *ptr) throw();
void operator delete[](void *ptr, const std::nothrow_t &) throw();
void operator delete(void *ptr, void *) throw(); // Platzierungsform
void operator delete[](void *ptr, void *) throw(); // Platzierungsform
Beschreibung
Der Operator delete gibt einen Speicherblock frei, der durch einen vorhergehenden Aufruf von new reserviert wurde. Dieser Operator arbeitet ähnlich wie die Standardbibliotheksfunktion free, ist aber leistungsfähiger.
Mit dem Operator delete sollten sämtliche mit dem Operator new zugewiesene Speicherbereiche freigegeben werden. Versäumnisse bei der Freigabe von Speicher kann zu Speichermangel führen.
Die Standard-Platzierungsformen von operator delete sind reserviert und können nicht neudefiniert werden. Die Standard-Platzierungsform des delete-Operators führt keine Aktion aus (da von dem Standard-Platzierungsoperator new kein Speicher zugewiesen wurde). Wenn Sie die Platzierungsversion des Operators new überladen haben, ist es sinnvoll (allerdings nicht unbedingt erforderlich), die Platzierungsversion des Operators delete mit der entsprechendne Signatur zu überladen.