Junior
Co się stanie, jeśli wywołasz operator delete dla nullptr?
sobes.tech AI
Odpowiedź od AI
Nic się nie stanie. Wywołanie operatora delete dla nullptr nie powoduje błędu ani nieokreślonego zachowania. Standard C++ wyraźnie to gwarantuje.
int* p = nullptr;
delete p; // Bezpieczne, nic się nie dzieje.
int* q = new int(10);
delete q; // Zwolnienie przydzielonej pamięci.
delete q; // Nieokrecone zachowanie (podwójne usunięcie).
int* r = new int[5];
delete[] r; // Zwolnienie tablicy.