Compartilhar via


Excluir de 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

Consulte também

Referência

Classe de CObject

Gráfico de hierarquia

CObject::operator novo