delete, opérateur (<new>)
Fonction appelée par une expression de suppression pour libérer le stockage pour l'individu d'objets.
void operator delete(
void* _Ptr
) throw( );
void operator delete(
void *,
void *
) throw( );
void operator delete(
void* _Ptr,
const std::nothrow_t&
) throw( );
Paramètres
- _Ptr
Pointeur dont la valeur sera rendue non valide par la suppression.
Notes
La première fonction est appelée par une expression de suppression pour afficher la valeur d'_Ptr valide. Le programme peut définir une fonction avec cette signature de fonction qui remplace la version par défaut définie par la bibliothèque C++ standard. Le comportement requis doit recevoir une valeur d'_Ptr qui sont null ou qui ont été retournées par un rappel à opérateur nouveau(size_t).
Le comportement par défaut de valeur NULL d'_Ptr est de ne rien faire. Toute autre valeur d'_Ptr doit être une valeur précédente retournée par un appel comme décrit précédemment. Le comportement par défaut pour une telle valeur non NULL d'_Ptr est pour libérer le stockage alloué par le rappel. Il n'est pas spécifié dans les conditions ou partie de ce stockage libéré est allouée par un appel suivant à operator new(size_t), ou vers un d'calloc(size_t), malloc(size_t), ou d'realloc(void*, size_t).
La deuxième fonction est appelée par une expression de suppression de placement correspondant à une nouvelle expression de format new(std::size_t). Elle n'a aucun effet.
La troisième fonction est appelée par une expression de suppression de placement correspondant à une nouvelle expression de format new(std::size_t, const std::nothrow_t&). Le programme peut définir une fonction avec cette signature de fonction qui remplace la version par défaut définie par la bibliothèque C++ standard. Le comportement requis doit recevoir une valeur d'_Ptr qui sont null ou qui ont été retournées par un rappel à operator new(size_t). Le comportement par défaut consiste à évaluer supprimer(_Ptr).
Exemple
Voir le opérateur nouveau pour obtenir un exemple qui utilisent operator delete.
Configuration requise
En-tête : <nouveau>
Espace de noms : std