CObject::operador novo
Para a versão Release de biblioteca, operador novo realiza uma alocação de memória ideal em 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
Na versão de depurar, o operador novo participa de um esquema de alocação de monitoramento projetado para detectar vazamento de memória.
Se você usar a linha de código
#define new DEBUG_NEW
antes de qualquer uma das suas implementações em um arquivo .CPP e, em seguida, a segunda versão do novo será usado, armazenando o nome de arquivo e o número de linha no bloco de alocado para relatar posteriormente.Não é necessário se preocupar sobre fornecer parâmetros extras; uma macro cuida para você.
Mesmo se você não usa DEBUG_NEW no modo de depurar, você ainda receber detecção de vazamento, mas sem os relatórios de número de linha de arquivo de fonte descrito acima.
Observação: |
---|
Se você substituir esse operador, você também deverá substituir Excluir.Não use a biblioteca padrão de _new_handler função. |
Exemplo
See CObList::CObList para obter uma lista do CAge usado na classe a CObject exemplos.
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