Pitanja označena s "rvalue-reference"

Veza rvalue je nova funkcija jezika u C ++ 11, koja predstavlja referencu na rvalue. Zajedno s kolapsom veza, koriste se za implementaciju i ugradnju semantike kretanja i savršenog prosljeđivanja.
4
odgovor

Što T (dvostruko ampersand) znači u C ++ 11?

Proučio sam neke nove značajke C ++ 11, i primijetio sam da je to dvostruki ampersand u deklaraciji varijabli, na primjer T var. Za početak, kako se zove ta zvijer? Želim da nam Google dopusti da tražimo interpunkcijske znakove kako slijedi ...
Postavite 30. ožujka u 6:29
6
odgovor

Prednosti korištenja naprednih

U idealnom prosljeđivanju, std :: forward se koristi za pretvaranje nazvanih veza rvalue t1 i t2 u neimenovane veze rvalue. Za što je? Kako će to utjecati na unutarnju funkciju koja se zove ako ostavite t1 i t2 kao vrijednosti? predložak <typena ...
set 27 aug. '10 u 9:59
5
odgovor

C ++ 11 vrijednosti i premještanje semantike konfuzije (povratni izraz)

Pokušavam razumjeti rvalne veze i prenijeti semantiku C ++-a 11. Koja je razlika između tih primjera i koji od njih neće napraviti kopiju vektora? Prvi primjer je std :: vector <int> return_vector (void) {std :: vector <int> tmp {1,2,3,4,5}; ...
set Feb 13 '11 u 23:28
8
odgovor

Pravilo tri postaje pravilo pet s C ++ 11?

Dakle, nakon gledanja ovog predivnog predavanja o rvalue linkovima, pomislio sam da će svaka klasa imati koristi od takvog "konstruktora preseljenja", urediti predložak <Class T> MyClass (T drugo) i, naravno, "operater preseljenja odredišta ...
set Jan 24 '11 u 16:51
6
odgovor

Premjesti Snimanje u Lambda

Kako presresti na putu (također poznat kao rvalue referenca) u C ++ 11 lambda izraz? Pokušavam napisati nešto poput ovoga: std :: unique_ptr <int> myPointer (novi int); std :: function <void (void)> primjer = [std :: move (myPointer)] {...
27. prosinca '12 u 4:28
2
odgovor

Zašto se `std :: move` zove` std :: move`?

C ++ 11 funkcija std :: move (x) uopće ne pomiče ništa. Ovo je samo bacanje na vrijednost r. Zašto je to učinjeno? Nije li to pogrešno?
postavljen 26. siječnja 14 u 4:17
1
odgovor

Je li vraćanje reference rvalue učinkovitije?

na primjer: Beta_ab Beta :: toAB () const {povratni potez (Beta_ab (1, 1)); }
Postavite 12. srpnja u 21:44
1
odgovor

Zaobilaženje veza 'ovisi o * ovoj funkciji

Imam proxy kontejner klase oko pokretni objekt i želim proxy implicitno dati rvalue referencu za osnovni objekt, ali samo kada proxy poslužitelj sam je premještena. Vjerujem da mogu provesti ovo ponašanje u skladu s ...
set Jan 28 '13 u 16:22
1
odgovor

C ++ 11 make_pair s navedenim parametrima predložaka nije kompiliran

Upravo sam se igrao s g ++ 4.7 (jedan od posljednjih snimaka) s uključenim -std = C ++ 11. Pokušao sam sastaviti dio svoje postojeće baze koda i jedan slučaj koji mi nije malo smetao. Bio bih zahvalan ako bi netko mogao objasniti ...
postavljen je 10. ožujka u 1:41
2
odgovor

Mogu li obično / uvijek koristiti std :: forward umjesto std :: move?

Gledao sam Scotta Myersa u Universal Libraries na konferencijama C ++ i Beyond 2012, a sve još ima smisla. Međutim, član publike postavlja pitanje za oko 50 minuta, što me je zanimalo. Meyers kaže da nije za ...
postavljen 04. studenog '12 u 17:40
3
odgovor

Trebam li rvalue reference na const?

Mislim da ne, ali želim potvrditi. Je li const korišten za Foo gdje je Foo tip klase?
set 09 veljača '11 u 0:49
1
odgovor

Rješavanje preopterećenja između objekta, referentne vrijednosti, referentne konstante

S obzirom na sve tri funkcije, ovaj je poziv dvosmislen. int f (int); int f (int > int f (int const); int q = f (3); Brisanje f (int) uzrokuje da C>
postavljen 31. srpnja '13. u 7:38 sati
4
odgovor

Zašto neki ljudi koriste swap za preusmjeravanje?

Na primjer, stdlibS ++ ima sljedeće: unique_lock operator = (unique_lock __u) {if (_M_owns) otključaj (); unique_lock (std :: move (__ u)). swap (* this); __u._M_device = 0; __u._M_owns = false; povratak * ovo; } Zašto ...
postavljen 14. srpnja '11. u 4:03
1
odgovor

Preopterećenje prema referenci, u usporedbi s jedinim prijenosom po vrijednosti + std :: move?

Čini se da je glavni savjet o C ++ 0x rvalues ​​dodavanje konstruktora pomaka i premještanje operatora u vaše klase sve dok ih prevodioci ne koriste po defaultu. No, čekanje je strategija gubitka, ako koristite ...
postavljen 15. svibnja u 9:17