Nowy CObject::operator
Dla wersji biblioteki operator Nowy wykonuje alokacji pamięci optymalne w sposób podobny do 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
);
Uwagi
W wersji debugowej operator Nowy uczestniczy w systemie monitorowania alokacji przeznaczone do wykrywania przecieków pamięci.
Jeśli używasz wiersza kodu
#define new DEBUG_NEW
przed jakimkolwiek swoje implementacji w.CPP pliku następnie druga wersja Nowy będą stosowane, przechowywanie nazwę i numer wiersza w zaalokowanym bloku za zgłoszenie później.Nie trzeba się martwić o dostarczenie dodatkowych parametrów; Makro zajmuje, dla Ciebie.
Nawet jeśli nie używasz DEBUG_NEW w trybie debugowania, nadal uzyskać wykrywania przecieków, ale bez raportowania numer wiersza źródłowego pliku opisanych powyżej.
[!UWAGA]
Jeżeli podmiot ten można zastąpić, musi także zastępować usunąć.Nie należy używać biblioteki standardowej _new_handler funkcji.
Przykład
Zobacz CObList::CObList listę CAge klasy wykorzystywane w CObject przykłady.
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);
}
Wymagania
Nagłówek: afx.h