- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Vezeték nélküli fülhallgatók
- Házimozi belépő szinten
- Bluetooth hangszórók
- AMD Navi Radeon™ RX 6xxx sorozat
- Vezetékes FEJhallgatók
- Milyen széket vegyek?
- Shield TV-t csinált a Shieldből az NVIDIA
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Azonnali fotós kérdések órája
Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
dobragab #3322 üzenetére
Jó összefoglaló, csak egy kis kiegészítést engedj meg:
"- default ctor: végighívja az ősosztályok és adattagok copy ctor-át, sorrendben."
Itt fontos megjegyezni, hogy az ősosztályok ctorát az öröklési sorrendben, az adattagokét pedig deklarációjuk sorrendjében hívja. Vagyis nem feltétlenül a taginicializáló listában írt sorrendben (néhány fordító warning-ot generál, ha a taginicializáló lista sorrendje eltér a deklaráció sorrendjétől). Ezek után hajtódik végre a szóban forgó objektum ctorának törzse. A destruktorok hívása éppen fordított sorrendben történik: Először az adott dtor törzse fut le, ami végül a ctor-ok hívásának fordított sorrendjében meghívja az adattagok és ősosztályok dtorait.A move operációt illetően: a szabvány bizonyos feltételek mellett (kb. amit leírtál) előírja implicit move operáció generálását, azonban erősen kétséges, hogy ez valóban jó ötlet-e. Bizonyos fordítók (talán a VS2010 is) ezt nem teszik. Ha egyáltalán generálható implicit move operáció, akkor az kb. ugyanaz mint a copy operáció, ezért fölösleges a move. A move-nak akkor van igazán értelme, amikor implicite nem generálható, pl. user defined dtor esetén. A move-val legfőbb probléma az, hogy milyen állapotban maradjon a moved-from objektum, vagyis az operáció forrás objektuma. Legyen default konstruált? Mi van, ha nincs default ctor-a? Az "elmove-olt" erőforrást a dtor-nak már nem szabad felszabadítania. A moved-from objektum egyfajta "zombivá" válik, hasonlóan a kétfázisú inicializálással létrehozott objektum esetén, amikor a ctor már lefutott, de az inicializálás még nem történt meg teljes egészében (ez mint tudjuk, kerülendő). A moved-from objektum ezután már csak copy vagy move assignment cél operandusaként használható, vagy megsemmisítendő, de minden esetre ügyelni kell rá, hogy ne használjuk újra (mint ahogy a félig inizializált objektumokat sem).
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Wuthering Waves
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Nyíregyháza és környéke adok-veszek-beszélgetek
- Vezeték nélküli fülhallgatók
- Házimozi belépő szinten
- AI-alapú böngészőt telepítenének gyárilag az új mobilokra
- Lakáshitel, lakásvásárlás
- Allegro vélemények - tapasztalatok
- One mobilszolgáltatások
- Milyen program, ami...?
- További aktív témák...
- Telefon felvásárlás!! Samsung Galaxy S24/Samsung Galaxy S24+/Samsung Galaxy S24 Ultra
- Bomba ár! Lenovo ThinkPad T490 - i7-8GEN I 16GB I 256GB SSD I 14" FHD I Cam I W10 I Garancia!
- Honor 400 Lite 256GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! ASRock H310CM i3 9100F 8GB DDR4 240GB SSD 1TB HDD GTX 1060 3GB AeroCool Strike-X 500W
- Bomba ár! Dell Precision M4600 - i7-QM I 8GB I 500GB I Nvidia I HDMI I 15,6" FHD I W10 I Gari!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest