Sobes.tech
Junior

Τι συμβαίνει αν καλέσουμε τον διαχειριστή delete για το nullptr;

sobes.tech AI

Απάντηση από AI

Τίποτα δεν θα συμβεί. Η κλήση του τελεστή delete για το nullptr δεν προκαλεί σφάλμα ή απροσδιόριστη συμπεριφορά. Το πρότυπο C++ το εγγυάται ρητά.

int* p = nullptr;
delete p; // Ασφαλές, τίποτα δεν συμβαίνει.

int* q = new int(10);
delete q; // Εκκαθάριση της δεσμευμένης μνήμης.
delete q; // Απροσδιόριστη συμπεριφορά (διπλή διαγραφή).

int* r = new int[5];
delete[] r; // Εκκαθάριση του πίνακα.