Videó: Hogyan korlátozhatom egy objektum dinamikus kiosztását C++ nyelven?
2024 Szerző: Lynn Donovan | [email protected]. Utoljára módosítva: 2023-12-15 23:48
Stack alapú tárgyakat által implicit módon kezelik C++ fordítóprogram. Megsemmisülnek, amikor kikerülnek a hatókörből és dinamikusan allokált objektumok manuálisan kell feloldani, ellenkező esetben a delete operátor használatával memória szivárgás lép fel. C++ nem támogatja az olyan nyelvek által használt automatikus szemétgyűjtési megközelítést, mint a Java és a C#.
Ezt szem előtt tartva hogyan korlátozhatom egy objektum dinamikus kiosztását C++ nyelven?
Stack alapú tárgyakat által implicit módon kezelik C++ fordítóprogram. Megsemmisülnek, amikor kikerülnek a hatókörből és dinamikusan allokált objektumok manuálisan kell feloldani, ellenkező esetben a delete operátor használatával memória szivárgás lép fel. C++ nem támogatja az olyan nyelvek által használt automatikus szemétgyűjtési megközelítést, mint a Java és a C#.
Ezenkívül lefoglalhatunk-e memóriát az objektumok számára dinamikusan a CPP-ben? Dinamikus memóriafoglalás számára Tárgyak Megtehetjük is dinamikusan kiosztja az objektumokat . Mint mi tudd, hogy a Constructor egy osztály tagfüggvénye, amelyet minden alkalommal meghívnak, amikor új tárgy abból az osztályból jön létre. A Destructor egy osztálytag függvény is, amelyet akkor hívunk meg, amikor a tárgy kikerül a hatókörből.
Az emberek azt is kérdezik, hogyan lehet olyan C++ osztályt készíteni, amelynek objektumai csak dinamikusan allokálhatók?
- Nem lehet megtenni. Az egyetlen dolog, amit tehet, az az, hogy a konstruktort priváttá teszi, és létrehoz egy statikus gyárat, amely létrehozza az osztály új példányát. –
- Egy ilyen osztály létrehozása természetesen probléma.
- Ez egy nagyon furcsa követelmény.
Miért van szükség az objektumok dinamikus inicializálására?
Az Az objektumok dinamikus inicializálása azt jelenti inicializálni az osztály adattagjai létrehozása közben a tárgy . Amikor mi akarunk kezdeti vagy alapértelmezett értékek megadása az adattagoknak a létrehozása során tárgy - szükségünk van használni objektumok dinamikus inicializálása.