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