Suchergebnisse für Anfrage "move-semantics"
Welche Standardtypen sind garantiert leer / null, nachdem sie als Argument im move-Konstruktor verwendet wurden
Ich kenneshared_ptr, unique_ptr, weak_ptr ist garantiert leer, nachdem es als RVR-Argument im Konstruktor desselben Typs verwendet wurde, aber ich frage mich, ob Standard dies für ein anderes @ spezifizierstd:: Typen neben denen, die ich erwähnt ...
Warum werden implizit und explizit gelöschte Verschiebungskonstruktoren unterschiedlich behandelt?
Was ist der Begründung hinter der unterschiedlichen Behandlung implizit und explizit gelöschter Verschiebungskonstruktoren im C ++ 11-Standard in Bezug auf die implizite Erzeugung von Verschiebungskonstruktoren, die Klassen enthalten ...
Verhindert ein standardmäßiger virtueller Destruktor vom Compiler generierte Verschiebevorgänge?
Von der Post inspiriertWarum deaktiviert Destruktor die Generierung impliziter Verschiebungsmethoden? [https://stackoverflow.com/questions/33932824/why-destructor-disabling-the-generation-of-implicit-move-functions] , Ich habe mich gefragt, ob ...
Was passiert, wenn Sie einer rWertreferenz eine Literalkonstante zuweisen?
Dies ist zugegebenermaßen eine wählerische Frage, die hauptsächlich von Neugier getrieben wird. Angenommen, wir haben Folgendes: int x = 5; int&& xref = std::move(x); std::cout << "Before assignment x: " << x << std::endl; std::cout << "Before ...
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 ...
Warum erlauben die Containerklassen von Qt keine beweglichen, nicht kopierbaren Elementtypen?
Die Qt Container KlassenQList<T>, QVector<T>ei @ usw. müssen die Elementtypen kopierbar sein. Seit C ++ 11 benötigen die STL-Container, dass ihr Elementtyp nur kopierbar oder verschiebbar ist. Warum unterstützen die Qt-Container ...
Warum wird der Helfer von std :: tuple anstelle von value @ zurückgegebe
Wenn Sie sichget, die Hilfsfunktion fürstd::tuple, Sie werden die folgende Überladung bemerken: template< std::size_t I, class... Types > constexpr std::tuple_element_t<I, tuple<Types...> >&& get( tuple<Types...>&& t ); Mit anderen Worten, es ...
Werte für aktive Objekte zurückgeben
Back im Jahr 2010 befürwortete Herb Sutter die Verwendung von aktiven Objekten anstelle von nackten Fäden in einemArtike [http://www.drdobbs.com/parallel/prefer-using-active-objects-instead-of-n/225700095] auf Dr. Dobb's. Hier ist eine C ++ ...
Warum kann ich std :: unique_ptr in Lambda in C ++ 14 nicht verschieben?
Ich möchte einen rohen Zeiger in Lambda übergeben, aber ich möchte nicht, dass er durchgesickert ist, wenn das Lambda nicht aufgerufen wird. Es sieht aus wie das void Clean(std::unique_ptr<int>&& list); void f(int* list) ...
Was ist die Bewegungssemantik in Rust?
In Rust gibt es zwei Möglichkeiten, eine Referenz zu nehmen Leihe, d. h. eine Referenz nehmen, aber das Mutieren des Referenzziels nicht zulassen. Das& Operator leiht Besitz von einem Wert. Borgen Sie sich veränderlichehmen Sie eine Referenz, ...