Freigeben über


CObject::operator-Löschung

Für die Releaseversion der Bibliothek, gibt Operator delete den Speicherplatz, der vom Operator new zugeordnet ist.

void PASCAL operator delete( 
   void* p  
); 
void PASCAL operator delete( 
   void* p,
   void* pPlace 
); 
void PASCAL operator delete( 
   void* p, 
   LPCSTR lpszFileName, 
   int nLine  
);

Hinweise

In der Debugversion akzeptiert Operator delete an einem ZuordnungÜberwachung Schema beteiligt, das entworfen wurde, um Speicherverluste zu ermitteln.

Wenn Sie die Codezeile verwenden

#define new DEBUG_NEW

vor einem der Implementierungen in einer CPP-Datei, wird die dritte Version von delete verwendet und speichert den Dateinamen und die Zeilennummer im zugeordneten Block für die Berichterstellung. Sie müssen sich nicht um das Angeben der zusätzlichen Parameter sorgen; ein Makro verarbeitet die um den für Sie.

Selbst wenn Sie nicht DEBUG_NEW im Debugmodus verwenden, rufen Sie noch von, jedoch ohne die Quelldateizeilennummerenberichterstellung ab, die oben beschrieben wird.

Wenn Sie Überschreibungsoperatoren new und delete, Sie diese Diagnose Funktion einbüßen.

Beispiel

Siehe CObList::CObList für Listen der CAge-Klasse, die in den CObject Beispielen verwendet wird.

void CAge::operator delete(void* p)
{
   free(p);
}

void CAge::operator delete(void *p, LPCSTR lpszFileName, int nLine)
{
   UNREFERENCED_PARAMETER(lpszFileName);
   UNREFERENCED_PARAMETER(nLine);
   free(p);
}

Anforderungen

Header: afx.h

Siehe auch

Referenz

CObject-Klasse

Hierarchiediagramm

CObject::operator neu