rvalue-reference

Eine rvalue-Referenz ist ein neues Sprachfeature in C ++ 11, das eine Referenz auf einen rvalue darstellt. Zusammen mit dem Referenz-Collapsing werden sie verwendet, um eine Bewegungssemantik und eine perfekte Weiterleitung zu implementieren und zu ermöglichen.
1
Antwort

C ++: Konvertierungen von lvalue-Referenzen und rvalue-Referenzen

Ich frage mich, welche Teile des Standards das im folgenden Code-Segment spezifizieren: %Vor% (d) kompiliert und (c) nicht. Bitte fügen Sie die relevanten Teile des Standards in Ihre Antwort ein oder beziehen Sie sich entsprechend darauf. Nu...
22.01.2016, 16:15
4
Antworten

R-Werte und L-Werte anders verteilen und sfinae verwenden, um eine Option zu deaktivieren

Ich möchte eine Funktion drop_if implementieren. Bei einem unären Prädikat und einem sequentiellen Container wird ein Container desselben Typs zurückgegeben, der nur die Elemente enthält, die nicht dem Prädikat entsprechen. Wenn der Eingab...
14.06.2017, 10:43
2
Antworten

In C ++, welche Kategorien (lvalue, rvalue, xvalue usw.) können Ausdrücke enthalten, die Provisorien des Klassentyps erzeugen?

Hier ist ein Beispielcode: %Vor% Sind Ausdrücke wie Foo (5) prvalues ​​oder allgemeine rvalues? Ist die Tatsache, dass ich get_addr () für diese Ausdrücke aufrufen kann, eine Identität? Oder bedeutet die Tatsache, dass ich den Standard & amp...
21.12.2013, 08:41
3
Antworten

Übergabe der Referenzoptionen in C ++

Ich möchte ein Objekt der Klasse A (nennen wir es a) durch Verweis (im weiten Sinn, dh entweder durch A & amp; oder durch A *) an den Konstruktor einer anderen Klasse B übergeben. Ich will kein 'a' innerhalb von B geändert werden ('a' ist nur le...
29.10.2015, 18:35
3
Antworten

Warum müssen wir den rvalue-Verweis auf null im Move-Konstruktor setzen?

%Vor% Ich kann den Grund für das Festlegen von rhd.pds auf nullptr nicht verstehen. Was passiert, wenn wir diese Zeile entfernen: rhs.pds = nullptr;     
01.03.2014, 11:54
2
Antworten

Shared Memory und kopieren auf Write oder Rvalue Referenzen und verschieben Semantik?

Ist ein shared memory / copy bei der Schreibimplementierung für allgemeine Container (wie in den Containern von Qt) durch C ++ 11 move semantics und rvalue references ersetzt? Wo scheitert einer und der andere gelingt? Oder ergänzen sie sich...
18.04.2013, 20:08
1
Antwort

Rvalue-Referenzen ohne std :: move [duplicate]

Ich habe folgende Klasse %Vor% was ich im folgenden Code verwende %Vor% Das resultierende Verhalten ist für mich nachvollziehbar. Im ersten Aufruf wird ein Widget erstellt, dann wird der Move-Konstruktor aufgerufen und der Destruktor w...
05.05.2015, 16:01
2
Antworten

Wird die Lebensdauer eines xvalue erweitert, wenn er an einen Const lvalue Verweis gebunden ist?

Wenn ich den folgenden Code schreibe: %Vor% Dann beschwert sich g++ : %Vor% Ok, danke an Was sind rvalues, lvalues, xvalues, glvalues? , und prvalues? Ich verstehe, dass ein xvalue bedeutet, dass es "abläuft", was sinnvoll ist. Aber...
27.02.2012, 15:47
1
Antwort

C ++ - Universalreferenz im Konstruktor und Rückgabewertoptimierung (rvo)

Warum findet die rvalue-Optimierung nicht in Klassen mit Konstruktoren mit universellen Referenzargumenten statt? Ссылка %Vor% Ausgabe: %Vor%     
24.07.2014, 04:27
1
Antwort

Wo sind rvalues ​​in C ++ gespeichert?

Ich lerne gerade neue C ++ 11 Funktionen. Jedoch verstehe ich eine Sache über rvalues ​​nicht völlig. Betrachten Sie folgenden Code: %Vor% Aufruf an getText() erstellt einen r-Wert, der nach newText Variable kopiert wird. Aber wo ge...
08.01.2015, 13:43