Partager via


opérateur delete (C++)

libère un bloc de mémoire.

[::] delete cast-expression
[::] delete [ ] cast-expression

Notes

L'argument d'expression de cast doit être un pointeur vers un bloc de mémoire précédemment allouée pour un objet créé avec opérateur new.L'opérateur de suppression un résultat de type void et ne retourne pas de valeur.Par exemple :

CDialog* MyDialog = new CDialog;
// use MyDialog
delete MyDialog;

À l'aide de suppression sur un pointeur vers un objet non alloué à nouveau génère des résultats imprévisibles.Vous pouvez, toutefois, utiliser suppression sur un pointeur avec la valeur 0.Cette disposition signifie que, lorsque nouveau retourne 0 en cas de échec, en supprimant le résultat d'une opération de nouveau est danger.Consultez Le nouveau les opérateurs et delete pour plus d'informations.

Les opérateurs de nouveau et de suppression peuvent également être utilisés pour les types intégrés, y compris les tableaux.Si pointer fait référence à un tableau, les parenthèses vides de placer avant pointer:

int* set = new int[100];
//use set[]
delete [] set;

À l'aide de suppression l'opérateur sur un objet libère sa mémoire.Un programme qui déréférence un pointeur après que l'objet soit supprimé peut avoir des résultats imprévisibles ou se bloquer.

Lorsque suppression est utilisé pour libérer la mémoire de l'objet de classe C++, le destructeur de l'objet est appelé avant que la mémoire de l'objet ne soit récupérée (si l'objet a un destructeur).

Si l'opérande à l'opérateur de suppression est une l-value modifiable, sa valeur est non une fois que l'objet soit supprimé.

Exemple

Pour obtenir des exemples d'utilisation suppression, consultez l' opérateur new.

Voir aussi

Référence

Expressions avec des opérateurs unaires

Mots clés C++

Comment la suppression s'exécute

À l'aide de la suppression

nouveau opérateurs et delete

fonction d'opérateur DELETE