Cum restricționez alocarea dinamică a unui obiect în C++?
Cum restricționez alocarea dinamică a unui obiect în C++?

Video: Cum restricționez alocarea dinamică a unui obiect în C++?

Video: Cum restricționez alocarea dinamică a unui obiect în C++?
Video: new & delete Operators For Dynamic Memory Allocation | C++ Tutorial 2024, Noiembrie
Anonim

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?

  1. 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. –
  2. Crearea unei astfel de clase este cu siguranță o problemă.
  3. 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.