Új hozzászólás Aktív témák
-
LordX
veterán
válasz
EQMontoya #2870 üzenetére
Nem, mellékhatással rendelkező konstruktor is áldozatul eshet a copy elisionnek:
[class.copy] bekezdés (jó hosszú alfejezet, a vége felé):
"When certain criteria are met, an implementation is allowed to omit the copy/move construction of a class object, even if the constructor selected for the copy/move operation and/or the destructor for the object have side effects."
(A "certain criteria" az (N)RVO, a "hagyományos" copy elision és a throw ill catch esetében az exception objektumok konstrukciója listát tartalmazza.)
-
jattila48
aktív tag
válasz
EQMontoya #2870 üzenetére
A T s=T(); deklarációban nincs copy elision (és másfajta optimalizáció sem), mert nincs rá szükség, ha triviális a copy ctor, ha nem. Egyszerűen a T() ctor hívódik meg és hozza létre az s-et mindenféle optimalizációtól függetlenül.
"Ha mondjuk van ott egy logolás, akkor simán le fog futni a default ctr majd a copy"
Mármint a copy ctor-ban van logolás? Nem fog lefutni, és a log sem fog kiíródni, és ez nem az optimalizáció miatt van, hanem mert deklarációban ez egyszerűen így működik. Próbáld ki! Mellesleg copy elision esetén (itt nem aróól van szó!) akkor is kioptimalizálhatja a copy ctor hívást, ha van megfigyelhető mellékhatása (ol. logolás). Ez is benne van a szabványban.
Ú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!
- Elemlámpa, zseblámpa
- World of Tanks - MMO
- Kedvenc zene a mai napra
- Iszonyatos mennyiségű hulladékkal járhat a Windows 10 terméktámogatásának vége
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Kerékpárosok, bringások ide!
- Linux kezdőknek
- Luck Dragon: Asszociációs játék. :)
- Autós topik
- További aktív témák...
- Mini pc (I5 8250u - 16Gb ddr4 ram - 128Gb nVme ssd + 500Gb hdd)
- Gigabyte B450M S2H + Ryzen 5 1400 kisebb-nagyobb hibával
- Nokia 105 4G (2023) charcoal, Nokia 110 4G (2023) midnight blue
- ASRock B550 PG Velocita + Ryzen 5 3600 + 32GB (4x8GB) DDR4 3600Mhz CL18
- Philips 58PUS8505 Smart LED Televízió,146 cm, 4K Ultra HD ,Android, Ambilight, HDR10+ KIJELZŐHIBÁSAN
- BESZÁMÍTÁS! 1TB Samsung 980 NVMe SSD meghajtó garanciával hibátlan működéssel
- LG UltraGear Gaming Monitorok: KÉSZLETKISÖPRÉS -30%
- Honor Pad X8 64GB, Wi-Fi, 1 Év Garanciával
- ÁRGARANCIA! Épített KomPhone Ryzen 5 7500F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- 138 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest