Sobes.tech
Middle

Ի՞նչ երկու տեսակ կա C++-ում delete օպերատորի։

sobes.tech AI

Պատասխան AI-ից

  1. Սովորական delete օպերատոր՝ օգտագործվում է new օպերատորով հատկացված մեկ օբյեկտի համար հիշողությունը ազատելու համար:
  2. delete[] օպերատոր՝ օգտագործվում է new[] օպերատորով հատկացված օբյեկտների զանգվածի համար հիշողությունը ազատելու համար: Երբ օգտագործվում է delete[], զանգվածի բոլոր տարրերի դեստրուկտորները կանչվում են հակառակ ստեղծման կարգի:

Սխալ delete օպերատորի տեսակ օգտագործելը (օրինակ, delete զանգվածի համար կամ delete[] մեկ օբյեկտի համար) հանգեցնում է անորոշ վարքագծի:

Օրինակ:

// Սովորական delete
int* միակ_օբյեկտ = new int(10);
// ... օգտագործում միակ_օբյեկտ
delete միակ_օբյեկտ;

// delete[] զանգվածի համար
int* զանգված_օբյեկտների = new int[5];
// ... օգտագործում զանգված_օբյեկտների
delete[] զանգված_օբյեկտների;