Yeni CObject::operator
Kitaplığı'nın yayın sürümü için işleç Yeni benzer bir şekilde en iyi bellek ayırma gerçekleştiren 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
);
Notlar
Hata ayıklama sürümünde işleç Yeni bellek sızıntılarını algılamasına için tasarlanmış bir ayırma izleme düzeninde katılır.
Kod satırını kullanırsanız
#define new DEBUG_NEW
önce kendi uygulamalarında herhangi bir.cpp dosya, daha sonra ikinci sürümü Yeni daha sonra raporlama için tahsis edilen blok dosya adı ve satır numarasını depolamak kullanılacaktır. Ek parametreler sağlama hakkında endişelenmeniz gerekmez; bir makro alır, sizin yerinize yapar.
Kullanmak istemediğiniz bile DEBUG_NEW hata ayıklama modunda hala sızıntı algılaması aldığınız ancak kaynak dosya satır numarası bildirdiği yukarıda açıklanan olmadan.
Not
Bu işleç geçersiz kılma, siz de geçersiz kılmalıdır silmek.Standart kitaplığı kullanmayın _new_handler işlevi.
Örnek
Bkz: CObList::CObList bir listesi için CAge kullanılan sınıfı CObject örnekler.
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);
}
Gereksinimler
Başlık: afx.h