Nový CObject::operator
Pro verzi knihovny operátor nové přidělení paměti optimální provádí způsobem, který je podobný malloc .
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
);
Poznámky
Ladicí verze operátor nové se účastní programu Sledování přidělení určené ke zjištění nevracení paměti.
Pokud řádek kódu
#define new DEBUG_NEW
před vaší implementace v.CPP souboru pak druhou verzi nové bude použit, ukládání název souboru a řádek číslo přidělené bloku pro vykazování později.Nemusíte starat o poskytnutí dodatečných parametrů; Makro stará o který pro vás.
I v případě, že nepoužíváte DEBUG_NEW v režimu ladění detekce nevrácení stále získat, ale bez hlášení zdrojového souboru číslo řádku popsané výše.
[!POZNÁMKA]
Pokud potlačíte tento operátor musí také přepsat Odstranit.Nepoužívejte standardní knihovny _new_handler funkce.
Příklad
Viz CObList::CObList seznam CAge třídy v CObject příklady.
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);
}
Požadavky
Záhlaví: afx.h