Sobes.tech
Junior

რა მოხდება, თუ გამოვიძახავთ delete ოპერატორს nullptr-ისთვის?

sobes.tech AI

პასუხი AI-სგან

არაფერი მოხდება. nullptr-ისათვის delete ოპერატორის გამოძახება არ გამოიწვევს შეცდომას ან განსაზღვრულ არაკეთილსინდისიერ ქცევას. C++ სტანდარტი ამას მკაფიოდ გარანტირებს.

int* p = nullptr;
delete p; // უსაფრთხოა, არაფერი ხდება.

int* q = new int(10);
delete q; // გამოყოფილი მეხსიერების გასუფთავება.
delete q; // განსაზღვრული არაკეთილსინდისიერ ქცევა (მეორედ წაშლა).

int* r = new int[5];
delete[] r; // მასივის გასუფთავება.