Sobes.tech
Junior

Que se passe-t-il si on appelle l'opérateur delete pour nullptr?

sobes.tech IA

Réponse de l'IA

Il ne se passera rien. L'appel à l'opérateur delete pour nullptr ne provoque pas d'erreur ni de comportement indéfini. La norme C++ garantit cela explicitement.

int* p = nullptr;
delete p; // Sûr, rien ne se passe.

int* q = new int(10);
delete q; // Nettoyage de la mémoire allouée.
delete q; // Comportement indéfini (suppression double).

int* r = new int[5];
delete[] r; // Nettoyage du tableau.