Sobes.tech
Middle

Millised on kaks delete operaatori tüüpi C++-s?

sobes.tech AI

Vastus AI-lt

  1. Tavaline delete operaator: kasutatakse ühe objekti mälu vabastamiseks, millele viitab new-ga eraldatud mälu.
  2. delete[] operaator: kasutatakse mälu vabastamiseks, mis on eraldatud objektide massiivi jaoks new[]-ga. Kasutades delete[], kutsutakse kõigi massiivi elementide destruktorid vastupidises järjekorras nende loomisele.

Vigase delete operaatori tüübi kasutamine (näiteks delete massiivi jaoks või delete[] ühe objekti jaoks) viib määramatule käitumisele.

Näide:

// Tavaline delete
int* üks_objekt = new int(10);
// ... objekti kasutamine
delete üks_objekt;

// delete[] massiivile
int* objekti_massiiv = new int[5];
// ... massiivi kasutamine
delete[] objekti_massiiv;