Kako omejim dinamično dodeljevanje predmeta v C++?
Kako omejim dinamično dodeljevanje predmeta v C++?

Video: Kako omejim dinamično dodeljevanje predmeta v C++?

Video: Kako omejim dinamično dodeljevanje predmeta v C++?
Video: CS50 2015 - Week 5, continued 2024, Maj
Anonim

Na podlagi sklada predmetov jih implicitno upravljajo C++ prevajalnik. Uničeni so, ko gredo izven dosega in dinamično dodeljeni predmeti je treba ročno sprostiti, sicer z uporabo operatorja delete spomin pride do puščanja. C++ ne podpira pristopa samodejnega zbiranja smeti, ki ga uporabljajo jeziki, kot sta Java in C#.

Ob upoštevanju tega, kako omejim dinamično dodeljevanje predmeta v C++?

Na podlagi sklada predmetov jih implicitno upravljajo C++ prevajalnik. Uničeni so, ko gredo izven dosega in dinamično dodeljeni predmeti je treba ročno sprostiti, sicer z uporabo operatorja delete spomin pride do puščanja. C++ ne podpira pristopa samodejnega zbiranja smeti, ki ga uporabljajo jeziki, kot sta Java in C#.

Poleg tega, ali lahko v CPP dinamično dodelimo pomnilnik za objekte? Dinamična dodelitev pomnilnika za Predmeti, ki jih lahko tudi dinamično dodeljevanje predmetov . Kot mi vedeti, da je konstruktor članska funkcija razreda, ki se kliče vsakič, ko je nov predmet je ustvarjen iz tega razreda. Destructor je tudi funkcija člana razreda, ki se pokliče kadar koli predmet gre izven obsega.

Ljudje se tudi sprašujejo, kako ustvariti razred C++, katerega predmete je mogoče samo dinamično dodeliti?

  1. Ni mogoče storiti. Edina stvar, ki jo lahko storite, je, da konstruktor naredite zasebnega in imate statično tovarno, ki konstruira nov primerek razreda. –
  2. Ustvarjanje takšnega razreda je vsekakor problem.
  3. To je zelo nenavadna zahteva.

Zakaj moramo izvajati dinamično inicializacijo objektov?

The Dinamična inicializacija objektov pomeni, da inicializirati podatkovne člane razreda med ustvarjanjem predmet . Kdaj želimo za zagotavljanje začetnih ali privzetih vrednosti članom podatkov med ustvarjanjem predmet - potrebujemo uporabiti dinamična inicializacija objektov.