Opérateur delete avec les tableaux
Remonter à Opérateurs new et delete - Index
Les tableaux sont supprimés par l'opérateur delete[]()
. Vous devez utiliser la syntaxe
delete [] expression
lors de la suppression d'un tableau :
char * p; void func() { p = new char[10]; // alloue 10 caractères delete[] p; // supprime 10 caractères }
La mention de la dimension du tableau dans l'expression delete était obligatoire pour les anciens compilateurs C++. Pour gérer le code pré-existant, le compilateur émet un avertissement et ignore toute taille spécifiée. Si vous aviez dans l'exemple précédent delete[10] p
, vous obtiendriez à la compilation :
Avertissement : Taille de tableau pour delete ignorée dans fonction func()