Sobes.tech
Middle

Kokie yra dviejų tipų delete operatoriai C++?

sobes.tech AI

Atsakymas iš AI

  1. Įprastas delete operatorius: naudojamas atlaisvinti atmintį, skirtą vienam objektui, naudojant new operatorių.
  2. delete[] operatorius: naudojamas atlaisvinti atmintį, skirtą objektų masyvui, sukurtam naudojant new[]. Naudojant delete[], 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;