Middle
Ի՞նչ երկու տեսակ կա C++-ում delete օպերատորի։
sobes.tech AI
Պատասխան AI-ից
- Սովորական
deleteօպերատոր՝ օգտագործվում էnewօպերատորով հատկացված մեկ օբյեկտի համար հիշողությունը ազատելու համար: delete[]օպերատոր՝ օգտագործվում էnew[]օպերատորով հատկացված օբյեկտների զանգվածի համար հիշողությունը ազատելու համար: Երբ օգտագործվում էdelete[], զանգվածի բոլոր տարրերի դեստրուկտորները կանչվում են հակառակ ստեղծման կարգի:
Սխալ delete օպերատորի տեսակ օգտագործելը (օրինակ, delete զանգվածի համար կամ delete[] մեկ օբյեկտի համար) հանգեցնում է անորոշ վարքագծի:
Օրինակ:
// Սովորական delete
int* միակ_օբյեկտ = new int(10);
// ... օգտագործում միակ_օբյեկտ
delete միակ_օբյեկտ;
// delete[] զանգվածի համար
int* զանգված_օբյեկտների = new int[5];
// ... օգտագործում զանգված_օբյեկտների
delete[] զանգված_օբյեկտների;