Video: Cum restricționez alocarea dinamică a unui obiect în C++?
2024 Autor: Lynn Donovan | [email protected]. Modificat ultima dată: 2023-12-15 23:52
Bazat pe stivă obiecte sunt implicit gestionate de C++ compilator. Sunt distruse când ies din domeniul de aplicare și obiecte alocate dinamic trebuie eliberat manual, utilizând operatorul de ștergere în caz contrar memorie are loc o scurgere. C++ nu acceptă abordarea automată de colectare a gunoiului folosită de limbaje precum Java și C#.
Ținând acest lucru în vedere, cum restricționez alocarea dinamică a unui obiect în C++?
Bazat pe stivă obiecte sunt implicit gestionate de C++ compilator. Sunt distruse când ies din domeniul de aplicare și obiecte alocate dinamic trebuie eliberat manual, utilizând operatorul de ștergere în caz contrar memorie are loc o scurgere. C++ nu acceptă abordarea automată de colectare a gunoiului folosită de limbaje precum Java și C#.
În plus, putem aloca memorie pentru obiecte în mod dinamic în CPP? Alocarea dinamică a memoriei pentru Obiecte pe care le putem de asemenea aloca obiecte dinamic . La fel de noi știți că Constructor este o funcție membră a unei clase care este apelată ori de câte ori este nouă obiect este creat din acea clasă. Destructor este, de asemenea, o funcție de membru al clasei care este apelată ori de câte ori obiect iese din domeniul de aplicare.
Oamenii întreabă, de asemenea, cum faci o clasă C++ ale cărei obiecte pot fi alocate numai dinamic?
- Nu se poate face. Singurul lucru pe care îl puteți face este să faceți constructorul privat și să aveți o fabrică statică care construiește o nouă instanță a clasei. –
- Crearea unei astfel de clase este cu siguranță o problemă.
- Este o cerință foarte ciudată.
De ce trebuie să facem inițializarea dinamică a obiectelor?
The Inițializarea dinamică a obiectelor inseamna sa inițializați membrii de date ai clasei în timpul creării obiect . Cand noi vrem pentru a furniza valori inițiale sau implicite membrilor de date în timpul creării obiect - avem nevoie a folosi inițializarea dinamică a obiectelor.