Каква е основната разлика между delete [] и delete?
Каква е основната разлика между delete [] и delete?

Видео: Каква е основната разлика между delete [] и delete?

Видео: Каква е основната разлика между delete [] и delete?
Видео: Poor Nastya 93 episode (eng subs) 2024, Ноември
Anonim

Причината, поради която има отделни Изтрий и Изтрий оператори е това Изтрий извиква onedestructor, докато Изтрий трябва да търси размера на масива и да извика толкова много деструктори. Естествено, използването на единия, където се изисква другият, може да причини проблеми.

Освен това, каква е разликата между free () и delete?

Разлики между изтриване оператор и Безплатно() функция Изтрий е оператор, докато Безплатно() е библиотека функция. изтрийте безплатно разпределената памет и деструктора на извиквания. Но Безплатно() де-разпределя памет, но не извиква деструктор. Изтрий е по-бързо от Безплатно() защото аноператорът винаги е по-бърз от функция.

Знайте също, какво прави delete в C ++? Изтрий () в ° С ++ Изтриването е оператор, който е използвани за унищожаване на масиви и обекти без масив (указател), които са създаден от нов израз. Което означава Изтрий оператор освобождава памет от хийп. Указател към обект е notdestroyed, стойност или блок памет, посочен с указател е унищожени.

Тук каква е разликата между премахване и изтриване?

Изтрий и Премахване са дефинирани доста подобно, но основните разлика между те е това Изтрий означава изтрива (т.е. превърнат в несъществуващ или невъзстановим), докато Премахване означава отнемане и оставяне (но запазено в съществуване).

По какъв начин деструкторът е различен от оператора за изтриване?

Първият деструктор , наречен пълен обект деструктор , извършва унищожаването без извикване Изтрий () върху обекта. Секундата деструктор , наречено деструктор за изтриване , обаждания Изтрий () след унищожаване на обекта. Ако обектът е унищожен, но не изтрит от купчината, обаждане оператор изтриване не е наред.

Препоръчано: