Freigeben über


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.

HinweisHinweis

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

Siehe auch

Referenz

CObject-Klasse

Hierarchien-Diagramm

CObject::operator-Löschung