delete

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

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.

Siehe auch