Excluir CObject::operator
Para a versão de lançamento de biblioteca, o operador delete libera a memória alocada pelo operador new.
void PASCAL operator delete(
void* p
);
void PASCAL operator delete(
void* p,
void* pPlace
);
void PASCAL operator delete(
void* p,
LPCSTR lpszFileName,
int nLine
);
Comentários
Em a versão de depuração, o operador delete 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 terceira versão de delete 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.
Se você substituir new operadores e delete, você perde esse recurso diagnóstico.
Exemplo
Consulte CObList::CObList para uma listagem da classe de CAge usada nos exemplos de CObject .
void CAge::operator delete(void* p)
{
free(p);
}
void CAge::operator delete(void *p, LPCSTR lpszFileName, int nLine)
{
UNREFERENCED_PARAMETER(lpszFileName);
UNREFERENCED_PARAMETER(nLine);
free(p);
}
Requisitos
Cabeçalho: afx.h