CObject::operator novo
Para a versão de lançamento de biblioteca, o operador executa uma new alocação de memória ideal de uma maneira semelhante a 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
);
Comentários
Em a versão de depuração, o operador new participa em um esquema de monitoramento alocação- desenvolvido para detectar vazamentos de memória.
Se você usar a linha de código
#define new DEBUG_NEW
antes que qualquer uma das suas implementações em um arquivo de .CPP, a segunda versão de new são usadas em seguida, armazenando o nome de arquivo e o número da linha no bloco alocado para o relatório posterior. Você não tem que se preocupar sobre fornecer parâmetros adicionais; uma macro de que leva para você.
Mesmo se você não usar DEBUG_NEW no modo de depuração, você ainda obtém a detecção de escape, mas sem o relatório número de linhas do arquivo de origem descrito acima.
Dica
Se você substitui esse operador, você também deve substituir delete.Não use a função padrão de _new_handler de biblioteca.
Exemplo
Consulte CObList::CObList para uma listagem da classe de CAge usada nos exemplos de CObject .
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);
}
Requisitos
Cabeçalho: afx.h