Partager via


CObject::operator nouveau

Pour la version Release de la bibliothèque, l'opérateur nouveau effectue une allocation de mémoire optimal d'une manière similaire à 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  
);

Notes

Dans la version debug, l'opérateur nouveau participe à un modèle d'allocation- analyse conçue pour détecter les fuites de mémoire.

Si vous utilisez la ligne de code

#define new DEBUG_NEW

avant une de vos implémentations dans un fichier .cpp, la deuxième version de nouveau sera utilisée, en enregistrant le nom du fichier et le numéro de ligne dans le bloc alloué pour l'enregistrement ultérieurement.Vous n'avez pas à vous préoccuper de fournir des paramètres supplémentaires ; une macro se charge de place pour vous.

Même si vous n'utilisez pas DEBUG_NEW en mode débogage, vous obtenez toujours la détection des fuites, mais sans inscription de numéro de ligne du fichier source décrit ci-dessus.

[!REMARQUE]

Si vous remplacez cet opérateur, vous devez substituer supprimer.n'utilisez pas la fonction standard de _new_handler de bibliothèque.

Exemple

Consultez CObList::CObList pour obtenir l'intégralité de la classe d' CAge utilisée dans les exemples d' 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);
}

Configuration requise

Header: afx.h

Voir aussi

Référence

Classe de CObject

Graphique de la hiérarchie

Suppression de CObject::operator