Middle
Care sunt cele două tipuri de operator delete în C++?
sobes.tech AI
Răspuns de la AI
- Operatorul obișnuit
delete: utilizat pentru eliberarea memoriei alocate pentru un singur obiect folosind operatorulnew. - Operatorul
delete[]: utilizat pentru eliberarea memoriei alocate pentru un array de obiecte folosind operatorulnew[]. Când se foloseștedelete[], destructorii pentru toate elementele array-ului sunt apelați în ordinea inversă celei în care au fost create.
Utilizarea tipului greșit de operator delete (de exemplu, delete pentru un array sau delete[] pentru un singur obiect) duce la comportament nedefinit.
Exemplu:
// Operator delete obișnuit
int* obiect_unic = new int(10);
// ... utilizarea obiect_unic
delete obiect_unic;
// Operator delete[] pentru array
int* array_de_obiecte = new int[5];
// ... utilizarea array_de_obiecte
delete[] array_de_obiecte;