Klausimai pažymėti „copy-elision“

„Elision“ kopijavimas reiškia išimtis, kai taikoma taisyklė, leidžianti praleisti kopijas
4
atsakymai

Kas yra kodo optimizavimas ir grąžinimo vertė?

Kas yra kopijavimas? Kas yra (vadinama) grąžinimo vertės optimizavimas? Ką jie reiškia? Kokiomis situacijomis jie gali įvykti? Kokie yra apribojimai? Jei paminėjote šį klausimą, tikriausiai ieškote įvado. Norėdami gauti šiuos ...
nustatytas spalio 18 d '12 at 2:03 val
3
atsakymai

Tikslus „grąžinimo“ momentas C ++ funkcijoje

Atrodo kvailas klausimas, bet tai yra momentas, kai grįžta xxx; „įvykdyta“ funkcijoje, kuri yra išskirtinai apibrėžta? Pažiūrėkite į šį pavyzdį, kad pamatytumėte, ką aš turiu galvoje (čia): #include <iostream> #include <s ...
22 val. '18, 16:53
1
atsakymas

Kaip veikia garantuotas kopijavimas?

Oulu ISO C ++ 2016 standartų susitikime C ++ 17 standartizacijos komitetas balsavo dėl pasiūlymo, vadinamo garantuotu teksto kopijavimu supaprastintomis vertybių kategorijomis. Kaip veikia garantuotas kopijavimas? Oh ...
Nustatyti birželio 27 d. 16, 0:23
2
atsakymai

Grąžinimo vertės ir kopijavimo optimizavimas C

Kai kurie žmonės nežino, kad jie gali perduoti ir grąžinti struktūras pagal vertę C. Mano klausimas yra tas, kad kompiliatorius grąžina nereikalingas kopijas, kai grįžta į struktūras C. Do C kompiliatoriuose, pvz., GCC, naudokite optimizavimo vertes ...
gegužės 04 d., 15 val
3
atsakymai

Kas yra kopijavimas ir kaip ji optimizuoja kopiją ir apsikeitimo idiomą?

Aš perskaičiau „Copy“ ir „Swap“. Bandžiau perskaityti kai kurias nuorodas į „Copy Elision“, bet aš negalėjau suprasti, ką tai reiškia. Ar kas nors gali paaiškinti, kas yra optimizavimas, o ypač tai, ką reiškia kitas tekstas? Tai ne tik patogumas, bet ir faktas ...
nustatytas sausio 27 d '10, 3:37
3
atsakymai
1
atsakymas

Kaip breketų skaičius veikia vienodą inicijavimą?

Apsvarstykite šį kodo fragmentą: #include <iostream> struct A {A () {} A (const A {}}; struct B {B (const A {}}; void f (const A {std :: cout << "A" << std :: endl; } void f (const B {std :: cout <...
03 Feb rinkinys '19, 18:33
2
atsakymai

nekopijuoto elemento (ar kito objekto) inicijavimas naudojant gamyklinę funkciją

Klasė turi turėti galiojantį egzempliorių arba poslinkio mechanizmą, kad bet kuri iš šių sintaksų būtų teisėta: C x = gamykla (); C y (gamykla ()); C z {gamykla ()}; C ++ 03, buvo gana paplitusi pasikliauti kopijavimu, kad ...
yra nustatytas birželio 17 d. 12 val
3
atsakymai

Kodėl judėjimo konstruktorius gali būti išverstas naudojant `make_x ()` funkcijas?

Negaliu suprasti, kodėl pastaruoju atveju tai yra perkėlimo konstruktorius, vadinamas, kai leidžiama kopijuoti leidimą (arba netgi privaloma, pvz., C ++ 17): X klasė {public: X (int i) {std :: clog << " konvertuoti „n“; } X (bendra ...
nustatė sausio 12 d '18, 15:23
2
atsakymai

Garantuoti skambučiai naudojant funkcijas ir pokalbius

draugas X operatorius + (X lhs, X const rhs) {lhs + = rhs; grįžti lhs; }}; Ir turiu skelbimą (tarkime, kad visi pavadinti kintamieji ...
nustatyti 10 vas „17, 21:04
4
atsakymai

Kopijuoti elisioną kuriant objektą viduje ()

Darbe matau daug kodų, kai žmonės naudojasi vietiniu ir vietiniu turiniu su laikinu objektu, pavyzdžiui: struct A {A :: A (int, int); }; vektorius <A> v; vektorius <A> .emplace_back (A (1, 2)); Žinau, kad visas vietovės atgalinis taškas turėtų būti ...
nustatytas birželio 07 d. 18 val. 15:02
2
atsakymai

Kodėl RVO grąžinus parametrą neleidžiama?

Tai nurodyta [C ++ 11: 12.8 / 31]: Šis leidimas kopijuoti / perkelti operacijas, vadinamas kopija, leidžiamas [...]: - grąžinimo ataskaitoje funkcijoje su grąžinimo klasės tipu, kai išraiška yra nepastovaus automatinio pavadinimo pavadinimas. .
nustatytas vasario 25 d '12, 16:40
1
atsakymas

GCC NRVO / RVO įspėjimas

Ar yra koks nors įspėjimas, leidžiantis mums žinoti, ar NRVO / RVO yra įgyvendintas GCC? Radau, kad -fno-elide-konstruktoriai išjungia NRVO / RVO, bet NRVO / RVO turi savo sąlygas, o kartais ne. Būtina ...
gruodžio 19 d '13, 8:41
1
atsakymas

Ar „garantuotas kopijavimas“ (P0135, C ++ 1z) galbūt reikalauja ABI suskirstymo?

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0135r0.html Minėtas „Garantuotas žmogaus teisių kopijavimas“ pasiūlymas buvo patvirtintas 2016 m. birželio mėn. Oulu, Suomija, kuri ...
birželio 26 d. 16, 22:43