Freigeben über


operator delete (<new>)

Die Funktion, die durch einen Löschausdruck aufgerufen wurde, um Speicher für einzelne Objekte freizugeben.

void operator delete( 
   void* _Ptr 
) throw( ); 
void operator delete( 
   void *,  
   void * 
) throw( ); 
void operator delete( 
   void* _Ptr, 
   const std::nothrow_t& 
) throw( );

Parameter

  • _Ptr
    Der Zeiger, dessen Wert durch den Löschvorgang als ungültig gerendert werden soll.

Hinweise

Die erste Funktion wird durch einen Löschungsausdruck aufgerufen, um den Wert von _Ptr ungültig zu machen. Das Programm kann eine Funktion mit dieser Funktionssignatur definieren, die die Standardversion ersetzt, die von der C++-Standardbibliothek definiert wird. Das erforderliche Verhalten ist, den Wert _Ptr zu übernehmen, der nicht gültig ist, oder durch einen früheren Aufruf von Operator neu(size_t) zurückgegeben wurde.

Das Standardverhalten für einen NULL-Wert von _Ptr ist, nichts unternehmen. Jeder andere Wert _Ptr muss ein Wert sein, der bisher durch Aufruf zurückgegeben wird, wie oben beschrieben. Das Standardverhalten für einen solchen Nichtnullwert von _Ptr, dem Speicher freizugeben, der von früheren Aufruf zugeordnet ist. Es ist nicht angegeben, unter welchen Bedingungen MEF-Part, oder aller von solchem freigegebenen Speicher durch einen nachgestellten Aufruf operator new(size_t) zugeordnet wird, oder mit einem von calloc(size_t), malloc(size_t) oder realloc(void*, size_t).

Die zweite Funktion wird durch einen Platzierungslöschungsausdruck entsprechend einem neuen Ausdruck des Formulars neu(std::size_t) bezeichnet. Sie ist wirkungslos.

Die dritte Funktion wird durch einen Platzierungslöschungsausdruck entsprechend einem neuen Ausdruck des Formulars neu aufgerufen (std::size_t, const std::nothrow_t &). Das Programm kann eine Funktion mit dieser Funktionssignatur definieren, die die Standardversion ersetzt, die von der C++-Standardbibliothek definiert wird. Das erforderliche Verhalten ist, den Wert _Ptr zu übernehmen, der nicht gültig ist, oder durch einen früheren Aufruf von operator new(size_t) zurückgegeben wurde. Das Standardverhalten ist, löschen(_Ptr) ausgewertet.

Beispiel

Ein Beispiel finden Sie unter Operator neu diese mit operator delete.

Anforderungen

Header: <neu>

Namespace: std