CObject::operator neu
Für die Releaseversion der Bibliothek, führt Operator new eine Speicherbelegung aus, die zu malloc fast genauso ist.
void* PASCAL operator new(
size_t nSize
);
void* PASCAL operator new(
size_t,
void* p
);
void* PASCAL operator new(
size_t nSize,
LPCSTR lpszFileName,
int nLine
);
Hinweise
In der Debugversion akzeptiert Operator new 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 zweite Version von new 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.
Hinweis |
---|
Wenn Sie diesen Operator überschreiben, müssen Sie delete auch überschreiben.Verwenden Sie nicht die _new_handler-Standardbibliotheksfunktion. |
Beispiel
Siehe CObList::CObList für Listen der CAge-Klasse, die in den CObject Beispielen verwendet wird.
void* CAge::operator new(size_t nSize)
{
return malloc(nSize);
}
void* CAge::operator new(size_t nSize, LPCSTR lpszFileName, int nLine)
{
UNREFERENCED_PARAMETER(lpszFileName);
UNREFERENCED_PARAMETER(nLine);
return malloc(nSize);
}
Anforderungen
Header: afx.h