A másolat kivitelező

Ha a függvény egy tárgyat, amely automatikusan létrehoz egy ideiglenes objektum tartalmazza a visszatérési érték. Ez az objektum valójában által visszaadott funkciót. Ha a visszatérési érték, az objektum megsemmisül. A megsemmisítést az ideiglenes objektum okozhat váratlan mellékhatások bizonyos helyzetekben. Például, ha a visszatérő függvény által objektumnak van egy destruktor szabadít dinamikusan lefoglalt memóriát, ez a memória felszabadul még abban az esetben, ha a tárgy, amely befogadja a visszatérő-emoe értéke tovább fog használni. A túlterhelés az értékadó operátor és copy konstruktor meghatározása megoldja ezt a problémát.

Ha két objektum azonos típusú, hozzá lehet rendelni egy tárgy a másikra. Ez azt jelenti, hogy az adatok a tárgy a jobb oldalon az egyenlőség lesz másolva az objektum adatait a bal oldalon az egyenlőség. Például a következő program kiírja az érték 99:

void set_i (int n)

MyClass OB1, OB2;

OB2 = OB1; // hozzárendeljük az adat objektum OB1 OB2

cout <<"this is ob2's i: " <

Alapértelmezésben az összes adat van rendelve egy tárgy egy másik bitmap másoló Bani. Azonban lehetséges, hogy túlterheli az értékadó operátor és meghatározzák más kijelölési eljárást.

A probléma az azonos típusú előfordulhat két esetben. Az első ilyen fordul elő, amikor a másolatot az objektum jön létre az átviteli függvényében az objektum érvként. A második eset akkor következik be, amikor az ideiglenes cél az, hogy hozzon létre egy függvényt, amely visszaadja egy objektum értékét.

classname (const classname obj)

Inicializálás történik három esetben: ha egy tárgy inicializálja a másik, ha együtt Pius objektum adódik a funkciót, és ha csak egy időre helyet (ez általában szolgál a visszatérési érték). Például bármelyik alábbi állítások inicializálása:

MyClass x = y; // inicializálja

F (x); // átviteli paraméter

I = F1 (); // kap ideiglenes objektum

Az alábbiakban egy példát, ahol szükség explicit másolat kivitelező. Ez a program együttes çäàåò nagyon egyszerű „biztonságos” típusú tömb az egész számok, amely megakadályozza, hogy a termelés a széle-tzu tömb. Memóriát minden tömb az új üzemeltető és minden helyen támogatott munka egy mutatót a memóriát.

Kapcsolódó cikkek