Sobes.tech
Junior

Čo sa stane, ak zavoláte operátor delete pre nullptr?

sobes.tech AI

Odpoveď od AI

Nič sa nestane. Volanie operátora delete pre nullptr ne spôsobí chybu ani nedefinované správanie. Štandard C++ to výslovne garantuje.

int* p = nullptr;
delete p; // Bezpečné, nič sa nedeje.

int* q = new int(10);
delete q; // Uvoľnenie prideleného pamäťového priestoru.
delete q; // Nedefinované správanie (dvojité odstránenie).

int* r = new int[5];
delete[] r; // Uvoľnenie poľa.