Eliminazione di CObject::operator

Per la versione finale della raccolta, l'operatore delete libera la memoria allocata dall'operatore 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 
);

Note

Nella versione di debug, l'operatore delete fa parte di una combinazione di allocazione- monitoraggio progettata per il rilevamento delle perdite di memoria.

Se si utilizza la riga di codice

#define new DEBUG_NEW

prima che qualsiasi delle implementazioni in un file di .CPP, la terza versione delete vengano utilizzate, memorizzare il nome file e il numero di riga nel blocco allocato per la segnalazione successiva.Non è necessario preoccuparsi per fornire parametri aggiuntivi; una macro consente infatti di tale automaticamente.

Anche se non si utilizza DEBUG_NEW in modalità di debug, visualizzato ancora il rilevamento di perdite, ma senza la creazione del numero di riga del file di origine sopra descritta.

Se si esegue l'override degli operatori new e delete, rinunciate a questa funzionalità diagnostica.

Esempio

Vedere CObList::CObList per un elenco CAge utilizzata negli esempi 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);
}

Requisiti

Header: afx.h

Vedere anche

Riferimenti

Classe di CObject

Grafico della gerarchia

CObject::operator nuovo