Suchergebnisse für Anfrage "move-semantics"

3 die antwort

Kann ich den Inhalt einer std :: map in eine andere std :: map verschieben?

Ist es möglich, den Inhalt einer temporären std :: map einzufügen?temp in eine andere std :: mapm durch die Verwendung der Verschiebungssemantik, sodass die Werte aus der temporären nicht kopiert und wiederverwendet werden? Nehmen wir an, man ...

2 die antwort

So verschieben Sie Elemente aus der AWL-Prioritätswarteschlange

Die STL-Prioritätswarteschlange von C ++ verfügt über eine Methode void pop () und eine Methode const ref top (). Wenn Sie also Elemente aus der Warteschlange verschieben möchten, müssen Sie Folgendes tun: T moved = ...

3 die antwort

Verschiebungssemantik für POD-ish-Typen

Ist es sinnvoll, einen Verschiebungskonstruktor und einen Verschiebungszuweisungsoperator für eine Struktur oder Klasse zu implementieren, die nur primitive Typen enthält? Zum Beispiel, struct Foo { float x; float y; float z; /// ... ctor, copy ...

TOP-Veröffentlichungen

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 ...

0 die antwort

Generische Konvertierungsoperatorvorlagen und Verschiebungssemantik: Eine universelle Lösung?

Dies ist eine Fortsetzung vonExplizite ref-qualifizierte Conversion-Operator-Vorlagen in Aktion [https://stackoverflow.com/q/23377647/2644390]. Ich habe mit vielen verschiedenen Optionen experimentiert und gebe hier einige Ergebnisse an, um ...

4 die antwort

Wird std :: move auf der Initialisierungsliste des Konstruktors für übergebene Heavy-Member wirklich benötigt?

Kürzlich habe ich ein Beispiel aus gelesencppreference ... / vector / emplace_back [http://en.cppreference.com/w/cpp/container/vector/emplace_back]: struct President { std::string name; std::string country; int year; President(std::string ...

2 die antwort

Kann unique_ptr nach dem Verschieben garantiert nullptr speichern?

Istunique_ptr garantiert zu speichernnullptr nach dem Umzug? std::unique_ptr<int> p1{new int{23}}; std::unique_ptr<int> p2{std::move(p1)}; assert(!p1); // is this always true?

2 die antwort

Welche Regeln gelten für die automatische Generierung von Verschiebevorgängen?

In C ++ 98 könnte der C ++ - Compilerautomatisch Erzeugen eines Kopierkonstruktors und eines Kopierzuweisungsoperators über eine mitgliedsmäßige Kopie, z. struct X { std::string s; std::vector<int> v; int n; };Der Compilerautomatisch generiert ...

3 die antwort

Bewegen Sie Semantik und Funktionsreihenfolge Auswertung

Angenommen, ich habe Folgendes: #include <memory> struct A { int x; }; class B { B(int x, std::unique_ptr<A> a); }; class C : public B { C(std::unique_ptr<A> a) : B(a->x, std::move(a)) {} }; Wenn ich die C ++ - Regeln zur "nicht angegebenen ...

2 die antwort

Sind std :: move und std :: copy identisch?

Ich habe versucht, etwas zu tun wie: std::copy(std::make_move_iterator(s1.begin()), std::make_move_iterator(s1.end()), std::make_move_iterator(s2.begin()));Und diesen Fehler erhalten: error: using xvalue (rvalue reference) as lvalue *__result ...