Suchergebnisse für Anfrage "move-constructor"

14 die antwort

(Warum) sollte ein Verschiebungskonstruktor oder Verschiebungszuweisungsoperator sein Argument löschen?

Eine Beispielimplementierung für einen Move-Konstruktor aus einem C ++ - Kurs sieht ungefähr so aus: /// Move constructor Motorcycle::Motorcycle(Motorcycle&& ori) : m_wheels(std::move(ori.m_wheels)), ...

4 die antwort

Move Constructor vs Copy Elision. Welches wird angerufen?

Ich habe hier zwei Code-Teile, die ich Ihnen zeigen möchte. Es handelt sich um zwei Klassen, von denen jede einen Verschiebungskonstruktor und eine Funktion enthält, die ein temporäres Ergebnis liefert. Im ersten Fall ruft die Funktion, die ein ...

6 die antwort

Understanding `std :: is_move_constructible`

Typen ohne Verschiebungskonstruktor, aber mit einem Kopierkonstruktor, der @ akzeptieconst T& Argumente, erfüllenstd::is_move_constructible. Zum Beispiel im folgenden Code: #include <type_traits> struct T { T(const T&) {} //T(T&&) = delete; }; ...

TOP-Veröffentlichungen

4 die antwort

Move-Konstruktor wird beim Auslösen einer Ausnahme nicht aufgerufen

Ich habe eine Variable, die die aktuelle Ausnahme akkumuliert und bereinigt werden muss, wenn die aktuelle Ausnahme ausgelöst wird (damit derselbe Fehler nicht erneut gemeldet wird). Das Problem ist, dassthrow std::move(ex); ruft ...

10 die antwort

Wie soll ich mit Mutexen in beweglichen Typen in C ++ umgehen?

Von Entwurf,std::mutex kann weder verschoben noch kopiert werden. Dies bedeutet, dass eine KlasseA, das einen Mutex enthält, erhält keinen Default-Move-Konstruktor. Wie würde ich diesen Typ machenA Thread-sicher beweglich?

2 die antwort

Gilt die Regel, std :: string nicht in Ausnahmen einzubetten, immer noch für Move-Konstruktoren?

Ich habe vor einiger Zeit gehört, dass ich keine Ausnahmeklassen erstellen soll, die Felder von haben würdenstd::string Art. Das ist, wasBoost-Website sagt [http://www.boost.org/community/error_handling.html]. Das Grundprinzip ist dasstd::string ...

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

3 die antwort

Expliziter Verschiebungskonstruktor

Versucht, den folgenden Code zu kompilieren: struct Foo { explicit Foo ( void ) { } explicit Foo ( Foo&& rhs ) { } }; Foo bar ( void ) { return Foo(); }Den folgenden Fehler erhalten: Aufruf des implizit gelöschten Kopierkonstruktors von ...

6 die antwort

Verschieben Sie das Element von std priority_queue in C ++ 11

1 die antwort

Verwenden Sie std :: move im C ++ 11-Verschiebungskonstruktor mit einheitlicher Initialisierungssyntax