Suchergebnisse für Anfrage "move-semantics"

4 die antwort

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

2 die antwort

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

2 die antwort

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

TOP-Veröffentlichungen

4 die antwort

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

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

2 die antwort

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

2 die antwort

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

2 die antwort

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

2 die antwort

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

8 die antwort

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