Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
Hinweis