Compartilhar via


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

Consulte também

Referência

Classe CObject

Gráfico da hierarquia

Excluir CObject::operator