Sobes.tech
Junior

Mi történik, ha a delete operátort hívjuk meg nullptr-re?

sobes.tech MI

Válasz az MI-től

Semmi sem fog történni. A nullptr-hez tartozó delete operátor hívása nem eredményez hibát vagy meghatározatlan viselkedést. A C++ szabvány ezt kifejezetten garantálja.

int* p = nullptr;
delete p; // Biztonságos, semmi sem történik.

int* q = new int(10);
delete q; // Lefoglalt memória felszabadítása.
delete q; // Meghatározatlan viselkedés (kétszeri törlés).

int* r = new int[5];
delete[] r; // Tömb felszabadítása.