Video: Ako obmedzím dynamickú alokáciu objektu v C++?
2024 Autor: Lynn Donovan | [email protected]. Naposledy zmenené: 2023-12-15 23:52
Na základe zásobníka predmety sú implicitne riadené C++ kompilátor. Sú zničené, keď sa dostanú mimo rozsah a dynamicky prideľované objekty musí byť uvoľnené manuálne, inak pomocou operátora delete Pamäť dochádza k úniku. C++ nepodporuje prístup automatického zhromažďovania odpadu, ktorý používajú jazyky ako Java a C#.
Vzhľadom na to, ako obmedzím dynamickú alokáciu objektu v C++?
Na základe zásobníka predmety sú implicitne riadené C++ kompilátor. Sú zničené, keď sa dostanú mimo rozsah a dynamicky prideľované objekty musí byť uvoľnené manuálne, inak pomocou operátora delete Pamäť dochádza k úniku. C++ nepodporuje prístup automatického zhromažďovania odpadu, ktorý používajú jazyky ako Java a C#.
Okrem toho môžeme dynamicky prideľovať pamäť pre objekty v CPP? Dynamická alokácia pamäte pre Objekty Môžeme tiež dynamicky prideľovať objekty . Ako my vedieť, že konštruktor je členská funkcia triedy, ktorá sa volá vždy, keď je nová objekt je vytvorená z tejto triedy. Deštruktor je tiež členská funkcia triedy, ktorá sa volá vždy, keď je objekt ide mimo rozsah.
Ľudia sa tiež pýtajú, ako vytvoríte triedu C++, ktorej objekty možno prideľovať iba dynamicky?
- Nedá sa to urobiť. Jediná vec, ktorú môžete urobiť, je nastaviť konštruktor ako súkromný a mať statickú továreň, ktorá vytvorí novú inštanciu triedy. –
- Vytvorenie takejto triedy je určite problém.
- To je veľmi zvláštna požiadavka.
Prečo potrebujeme robiť dynamickú inicializáciu objektov?
The Dynamická inicializácia objektov znamená inicializovať údajových členov triedy pri vytváraní objekt . Kedy chceme poskytnúť počiatočné alebo predvolené hodnoty dátovým členom pri vytváraní objekt - potrebujeme použit dynamická inicializácia objektov.