Middle
Kokie yra dviejų tipų delete operatoriai C++?
sobes.tech AI
Atsakymas iš AI
- Įprastas
deleteoperatorius: naudojamas atlaisvinti atmintį, skirtą vienam objektui, naudojantnewoperatorių. delete[]operatorius: naudojamas atlaisvinti atmintį, skirtą objektų masyvui, sukurtam naudojantnew[]. Naudojantdelete[], iškviečiami visų masyvo elementų destruktoriai atvirkštine jų sukūrimo tvarka.
Naudojant netinkamą delete operatoriaus tipą (pavyzdžiui, delete masyvui arba delete[] vienam objektui), kyla nenustatyto elgesio.
Pavyzdys:
// Įprastas delete
int* vienas_objektas = new int(10);
// ... naudojimas vienas_objektas
delete vienas_objektas;
// delete[] masyvui
int* objektu_masyvas = new int[5];
// ... naudojimas objektu_masyvas
delete[] objektu_masyvas;