- Android alkalmazások - szoftver kibeszélő topik
- További kavarás a Pixel 10-ek körül
- One mobilszolgáltatások
- Apple iPhone 16 Pro - rutinvizsga
- India felől közelít egy 7550 mAh-s Redmi
- Honor 200 Pro - mobilportré
- Motorola Edge 40 - jó bőr
- Magisk
- Okosóra és okoskiegészítő topik
- Samsung Galaxy S20 FE - tényleg nem lite
Új hozzászólás Aktív témák
-
LordX
veterán
válasz
jattila48 #2871 üzenetére
De van, a szabvány ezt mondja, [dcl.init] szekció:
"The initialization that occurs in the form
T x = a;
as well as in argument passing, function return, throwing an exception, handling an exception, and aggregate member initialization is called copy-initialization. [ Note: Copy-initialization may invoke a move. — end note ]
(...)
If the initialization is direct-initialization, or if it is copy-initialization where the cv-unqualified version of the source type is the same class as, or a derived class of, the class of the destination, constructors are considered. The applicable constructors are enumerated, and the best one is chosen through overload resolution (13.3). The constructor so selected is called to initialize the object, with the initializer expression or expression-list as its argument(s)."Magyarul, ha a változó és az inicializáló típusa ugyanaz (modulo CV), akkor:
1. Kiértékeli az egyenlő jel jobb oldalát.
2. Overload resolution kitalálja melyik konstruktor kell (azonos típus miatt copy vagy move), és azt hívja meg a jobb oldallal, mint paraméterrel.
Tehát, T x = T();
1. T() default-konstruál egy temporális T-t
2. Overload resolution megtalálja a move konstruktort (vagy ha nincs, copy), és meghivja
3. Expression temporálisa destruálásMivel a bekezdés a direkt inicializálás és a copy inicializálás (ahol az inicializáló kifejezés ugyanolyan típusú) között nem tesz különbséget a T x = valami; és T x{valami}; között, a valami helyére behelyettesítve a T()-t, azt kapod, hogy T x{T()};.
Demo Az -fno-elide-constructors kapcsoló kapcsolja ki a copy elisiont.
Ú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!
- Motoros topic
- Milyen monitort vegyek?
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Linux Mint
- Miért vezet mindenki úgy, mint egy állat?
- Macron betiltatná az EU-ban a közösségi médiát a 15 év alattiaknak
- Okos Otthon / Smart Home
- OLED TV topic
- Kerékpárosok, bringások ide!
- Nintendo Switch 2
- További aktív témák...
- Latitude 5440 14" FHD IPS i7-1365U 16GB 512GB NVMe magyar vbill ujjlolv IR kam gar
- Lenovo S10-2 Intel Atom retró csajszis netbook eladó
- HP Elitebook 840 G6, 14" FULL HD IPS, I7-8665U CPU, 16GB DDR4, 256GB NVMe SSD, WIN 11, 1 év garancia
- Dell Latitude 5590, 15,6" FULL HD IPS, I5-8350U CPU, 16GB DDR4, 256GB NVMe SSD, WIN 11 ÚJ AKKU, 1 év
- Dell Latitude 5590, 15,6" FULL HD IPS, I5-8350U CPU, 16GB DDR4, 256GB NVMe SSD, WIN 11 ÚJ AKKU,1 év
- BESZÁMÍTÁS! Gigabyte B450 R7 5700X 32GB DDR4 512GB SSD RX 6700XT 12GB Rampage SHIVA be quiet! 650W
- NEC MultiSync V421 monitor (42") 1920 x1080px
- Bomba ár! Dell Inspiron 15 3511 - i5-11GEN I 8GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Gari
- Noblechairs HERO Fekete/Platinafehér Gamer Szék
- Xiaomi Redmi 10 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged