Suchergebnisse für Anfrage "rvalue-reference"

5 die antwort

Referenz, konstante Referenz, rWert-Referenz oder konstante rWert-Referenz übergeben?

Ich habe gelernt, durch Nachschlagen zu bestehen, und hier ist der Test, den ich gemacht habe:

3 die antwort

Wie vermeide ich die Kopie, wenn ich zurückkomme?

Ich habe eine Funktion, die einen Vektor oder eine Menge zurückgibt:

2 die antwort

Welcher Typ deklariert werden soll, um das Kopieren zu vermeiden und sicherzustellen, dass der zurückgegebene Wert verschoben wird

Nehme an, dassIch habe eine Funktion

TOP-Veröffentlichungen

2 die antwort

Ist es sinnlos, eine lokale Variable als rWert-Referenz zu deklarieren, z. T & r = bewegen (v)?

1 die antwort

Lvalue to rvalue Referenzbindung

Der Compiler beschwert sich immer wieder Ich versuche, einen Wert an eine R-Wert-Referenz zu binden, aber ich kann nicht sehen, wie. Ich bin neu in C ++ 11, ...

1 die antwort

c ++ 11 emplace_back und push_back syntax mit struct

7 die antwort

Ist das Pass-by-Value-and-Then-Move-Konstrukt eine schlechte Redewendung?

Da wir in C ++ eine Verschiebungssemantik haben, ist dies heutzutage üblich void set_a(A a) { _a = std::move(a); }Die Argumentation ist, dass wenna Ist dies ein Wert, wird die Kopie entfernt und es wird nur ein Zug ausgeführt. Aber was passiert ...

4 die antwort

Wandeln C ++ 11-Compiler lokale Variablen in Werte um, wenn dies während der Codeoptimierung möglich ist?

Manchmal ist es sinnvoll, komplizierte oder lange Ausdrücke beispielsweise in mehrere Schritte aufzuteilen (die 2. Version ist nicht klarer, aber es ist nur ein Beispiel): return object1(object2(object3(x)));kann geschrieben werden als: object3 ...

3 die antwort

Warum müssen wir rvalue reference im move-Konstruktor auf null setzen?

//code from https://skillsmatter.com/skillscasts/2188-move-semanticsperfect-forwarding-and-rvalue-references class Widget { public: Widget(Widget&& rhs) : pds(rhs.pds) // take source’s value { rhs.pds = nullptr; // why?? } private: struct ...

1 die antwort

Das Verlängern der temporären Lebensdauer durch rvalue data-member funktioniert mit aggregate, aber nicht mit constructor. Warum?

Ich habe das folgende Schema gefunden, um eine temporäre Lebensdauer zu verlängern, ich weiß nicht, ob es sollte, aber es funktioniert. struct S { std::vector<int>&& vec; }; int main() { S s1{std::vector<int>(5)}; // construct with temporary ...