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; // Εκκαθάριση του πίνακα.