A másolat kivitelező - az
Jellemzően a fordító automatikusan létrehoz egy másolatot kivitelező az egyes osztályokra (más néven implicit konstruktorok másolata, azaz másolat konstruktőrök implicite megadott), de néhány esetben a programozó egy másolatot készít kivitelező, az úgynevezett ebben az esetben egyértelmű copy konstruktor (vagy „másolat kivitelező, egyértelműen meg kell határozni „). Ezekben az esetekben a fordító létrehoz implicit konstruktőrök.
A másolat kivitelező a legnagyobb szükség, ha a tárgy van egy mutató, vagy egy nem megosztott link. például egy fájl. Ebben az esetben, akkor általában is szükség van egy destruktor és értékadó operátor (lásd. A szabály három).
meghatározás
Az első kivitelező kell alkalmazni hiányában más tervezők. Az egyik különbség az első és a második kivitelező áll az a tény, hogy a változók lehet másolni először a tervezők. Például:
Egy másik különbség a kettő között elég tisztán
Az alábbi másolási konstruktőrök (vagy állandó konstruktőrök) hibásak:
mivel a hívás ezek a tervezők igényel rendszeres másolat, ami vezet végtelen rekurzív hívás (azaz egy végtelen hurok).
Négy esetben hívja a másolat kivitelező:
- Ha a téma visszatér
- Amikor a tárgyat vezetjük (funkció) értékének egy érv
- Ha egy objektum alapján szerkesztett egy másik objektum (az azonos osztályba tartozó)
- Amikor a fordító generál egy ideiglenes helyre (mint az első és a második esetben a fent explicit konverzió, stb)
A tárgy állítható be két eljárás egyikével:
- Egy világos hozzárendelése szempontjából
- inicializálás
Egy világos hozzárendelése szempontjából
inicializálás
A tárgy lehet inicializálni bármely az alábbi módszerek.
b. Segítségével a függvényargumentum
c. Segítségével a visszatérési érték a függvény
A másolat konstruktor csak az utóbbi esetben (inicializálás), és nem alkalmazunk a megbízás (azaz amikor az értékadó operátor használata esetén).
Implicit osztályok copy konstruktor meghívja a másolatot a kivitelező, valamint egy példányát tagsági megfelelő típusát. Ha ez egy osztály, a másolat kivitelező hívják. Ha ez egy skalár típus, akkor használja a beépített értékadó operátor. Végül, ha ez egy tömb, akkor minden elem bekerül a megfelelő típusú utat. [2]
Explicit copy konstruktor a programozó határozza meg a következő lépéseket másolás után az objektumot.
A következő példák illusztrálják, hogy a másolat konstruktőrök és miért van néha szükség.
Implicit copy konstruktor
Tekintsük a következő példát.
Ahogy az várható volt, Timmy át az új objektum timmy_clone. Megváltoztatja a kor (kor) Timmy. timmy_clone évesen nem változott. Ez azért van, mert teljesen független szervezetek.
A fordító által generált copy konstruktor velünk, ki lehet írni, mint ez:
Tehát, ha valóban szükségünk van egy kifejezett copy konstruktor? A következő részben meg fogja vizsgálni az ügyet.
Explicit copy konstruktor
Most tekintsünk egy nagyon egyszerű osztály dinamikus tömböket, mint például a következő:
Bár nem adja meg a másolási kivitelező, a fordító által generált nekünk. A generált konstruktor így néz ki:
Másolás konstruktőrök és sablonok
A várakozásokkal ellentétben, a másolat kivitelező sablon - nem explicit másolat kivitelező. Így ez nem elég:
Az explicit, azaz Nem egy sablont, a másolat kivitelező is meg kell valósítania egy tömb (Array) tömbalapú (Array).
lásd még
Nézze meg, mi a „másolat kivitelező” más szótárak:
Tervező (programozás) - Ez a kifejezés, vannak más célra, lásd tervező .. Az objektumorientált programozás osztály konstruktor (az angol. Constructor, néha vágni ctor) speciális blokkja utasításokat nevezzük, amikor egy objektum jön létre. ... ... Wikipedia
Vezető tervezője a projekt - feladatokat. Felügyeli a fejlesztési komplex projektek minden szakaszában és fázisa a munka, miközben biztosítja a gazdasági hatékonyság és versenyképesség, magas. működési kényelmét, ... ... kötelezett kézikönyve vezetők, szakemberek és más alkalmazottak
Vezető tervezője - Job felelősséget. Biztosítja a vezetés és szervezés egyes szakaszait vagy területein mérnöki tervezési munkák, részt vesz a megoldása minden kapcsolódó tudományos és technikai kérdésekről. Fejlesztése szempontjából referencia ... ... kötelezett kézikönyve vezetők, szakemberek és más alkalmazottak
Főtervezője - feladatokat. Felügyeli az új és korszerűsítése szerkezetének termékek (berendezések, gépek, járművek, berendezések, felszerelések) a meglévő termelési, biztosítva számukra a magas. versenyképes és szabadalmaztatható, rendezi ... ... kötelezett kézikönyve vezetők, szakemberek és más alkalmazottak
Splinter (tervezési minta) - Ebben a kifejezést, vannak más célra, lásd magányos .. Singleton Singleton tervezési minta típusa: generálunk leírt Design Patterns Igen Single (. Angol Singleton) programozási # 160 ... Wikipedia
- Másolás kivitelező. Dzhessi Rassel. Ez a könyv lesz összhangban a rendelését Technology Print-on-Demand technológiát. High Quality Content Wikipedia cikket! Másolás kivitelező (angol irodalomból ... Tovább Vásárlás 1125 rubelt