Suchergebnisse für Anfrage "move-semantics"
Warum hat man eine Bewegungssemantik?
Lassen Sie mich vorwegnehmen, dass ich einige der vielen Fragen gelesen habe, die bereits in Bezug auf die Bewegungssemantik gestellt wurden. Bei dieser Frag...
Zugaufgabe und Referenzmitglied
Die Zuweisung von Kopien für eine Klasse mit einer Referenzelementvariablen ist ein Nein-Nein, da Sie die Referenz nicht neu zuweisen können. Aber was ist mi...
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, ...
Verschiebungszuweisung langsamer als Kopierzuweisung - Fehler, Funktion oder nicht spezifiziert?
Ich habe kürzlich festgestellt, dass das Hinzufügen von Verschiebungssemantik in C ++ 11 (oder zumindest meiner Implementierung in Visual C ++) eine aktive (und ziemlich dramatische) Wirkung hat.gebrochen eine meiner optimierungen. Betrachten ...
Nur-Verschieben-Version von std :: function
weilstd::function kopierbar ist, verlangt der Standard, dass Callables, mit denen er erstellt wurde, auch kopierbar sind: n337 (20.8.11.2.1) template<class F> function(F f); Benötigt:F soll CopyConstructible sein.f Für Argumenttypen muss ...
Ist std :: move (* this) ein gutes Muster?
Damit dieser Code mit C ++ 11-Referenzqualifizierern wie erwartet funktioniert, muss ich einstd::move(*this) das klingt nicht richtig #include<iostream> struct A{ void gun() const&{std::cout << "gun const&" << std::endl;} void gun() &&{std::cout ...
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 ...