Cum funcționează ștergerea în C++?
Cum funcționează ștergerea în C++?

Video: Cum funcționează ștergerea în C++?

Video: Cum funcționează ștergerea în C++?
Video: delete operator in C++ - 48 2024, Mai
Anonim

Cand șterge este folosit pentru a dezaloca memorie pentru a C++ obiect de clasă, destructorul obiectului este numit înainte de memoria obiectului este dealocate (dacă obiectul are un destructor). Dacă operandul la șterge operator este o valoare l modificabilă, valoarea acesteia este nedefinit după obiect este șters.

De asemenea, întrebarea este, care este diferența dintre ștergerea și ștergerea în C++?

Ambele sunt folosite în același scop, dar totuși au unele diferențe , cel diferențe sunt: șterge este un operator, în timp ce free() este o funcție de bibliotecă. șterge eliberează memoria alocată și apelează la destructor. Dar free() de-allocatememory dar nu apelează destructor.

Se poate întreba, de asemenea, cum funcționează C++ nou? Cand nou este folosit pentru a aloca memorie pentru a C++ obiect de clasă, constructorul obiectului este apelat după ce memoria este alocată. Când alocați o matrice folosind nou operator, prima dimensiune poate fi zero - the nou operatorul returnează un pointer unic.

Se poate întreba, de asemenea, la ce folosește operatorul new și delete în C++?

C++ acceptă alocarea dinamică și dealocarea obiectelor folosind operatori noi și ștergeți . Aceste operatori alocați memorie pentru obiectele dintr-un pool numit thefree store. The nou operator apelează funcția specială operator nou , si operator de ștergere apelează funcția specială ștergerea operatorului.

Trebuie să șterg pointerii C++?

1 Răspuns. Tu nu trebuie să ștergeți asta și, în plus, nu ar trebui șterge aceasta. Dacă pământul este un obiect automat, acesta va fi eliberat automat. Deci manual ştergerea A indicator la ea, intri într-un comportament nedefinit.