Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
kemkriszt98
#4041
üzenetére
A második esetben az értékadó operátorod hívódik meg (ami szintén nem egészen jól van megírva, ld. az előző kommentemet). Viszont az A::initFromFile függvényed érték szerint ad vissza A típusú objektumot (egyébként vissza adhatná new-val létrehozott objektum címét is, vagy még jobb, ha unique_ptr-ben adja vissza), aminek a létrehozásához mindenképpen szükség van a copy ctor.-ra. Látni kéne ezt a fv.-t, mert lehet, hogy a visszatérő értéket nem bal értékből állítja elő (pl. return A() formában valamilyen ctor.-ral, ahol a ctor.-ral létrehozott objektum a fv. törzsében temporális lesz), ez esetben pedig a stack-en történő visszatérő érték létrehozásához a const A& argumentumú copy ctor-ra van szükség. Megjegyzendő, hogy a modern C++ fordítók ilyen esetben a copy elision nevezetű optimalizálást fogják végrehajtani, vagyis valójában nem hívják meg a copy ctort, hanem egyből a stacken mint visszatérő értéket hozzák létre a szóban forgó temporálist. Ennek ellenére a megfelelő copy ctor definiálását megkívánják. Összefoglalva: valószínűleg az initFromFile fv.-ed visszatérő értékének létrehozásához követeli meg a fordító a megfelelő copy ctort.
Ú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!
- HIBÁTLAN iPhone 16 Pro 128GB Silver Titanium- 1ÉV GARANCIA -Kártyafüggetlen, MS3933, 98% Akkumulátor
- 16 GB RTX 4080 SUPER HP OMEN - garanciával
- Nokia 4.2 32GB, Kártyafüggetlen, 1 Év Garanciával
- Hp Prodesk 600 G3/ G5/ G6 SFF/ i5 8-9-10 gen / Elitedesk 800 G4 /Win11- Számla, garancia
- iKing.Hu-Nothing Phone 3a Pro Grey Glyph stílus, 3 optikai zoom 12/256 GB -3 hónap garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

