Suchergebnisse für Anfrage "move-semantics"

2 die antwort

Nicht kopierbare Elemente im Vektor

Ich habe eine nicht kopierbare Klasse (d. H. Der Kopierkonstruktor und der Zuweisungsoperator sind als "Löschen" markiert). Ich möchte diese in einem std :: vector behalten. Es ist eine RAII-Klasse, also ist es nicht das, wonach ich suche, ...

4 die antwort

Stringstream verschieben oder tauschen

Ich möchte einen Stringstream verschieben. In der realen Welt habe ich ein Stringstream-Klassen-Datenelement, das ich während des Betriebs für verschiedene Strings wiederverwenden möchte. stringstream hat keine Kopierzuweisung oder keinen ...

8 die antwort

copy vs std :: move for ints

Was ist der Unterschied zwischen Standardkopie und std :: move in diesem Beispiel?Nachmove das Objekt gibt es eine Abhängigkeit zwischen neuen und alten?int main () { int a = 100; std::cout<<&a<<std::endl; auto a_copy = a; // deduced as int ...

TOP-Veröffentlichungen

4 die antwort

visuelle Studio-Implementierung von "Move Semantics" und "Rvalue Reference"

Ich bin auf ein Youtube-Video mit C ++ 11-Parallelität (Teil 3) und den folgenden Code gestoßen, der das richtige Ergebnis im Video kompiliert und generiert. Ich habe jedoch einen Kompilierungsfehler für diesen Code mit Visual Studio 2012 ...

8 die antwort

Move-Konstruktor für std :: string von char *

Ich habe eine Funktionf Rückgabe eineschar*. In der Funktionsdokumentation steht: The user must delete returned stringIch möchte ein @ konstruierstd::string davon. Das Triviale ist: char* cstring = f(); std::string s(cstring); delete ...

4 die antwort

Warum nimmt std :: move eine Vorwärtsreferenz?

Die Implementierung vonstd::move sieht im Grunde so aus: template<typename T> typename std::remove_reference<T>::type&& move(T&& t) { return static_cast<typename std::remove_reference<T>::type&&>(t); }Beachten Sie, dass der Parameter ...

4 die antwort

Wie verbessert man die Übergabe von std :: vector-Parametern (Semantik verschieben?)

Es scheint, dass ich die Bewegungssemantik nicht vollständig verstehen kann: Ich möchte ein @ ausfüllstd::vector (Mitglied einer Klasse) von einer externen Funktion. Derzeit habe ich so etwas wie: void fillVector(MyClass & myclass) { ...

4 die antwort

Wie liefert Rust die Bewegungssemantik?

DasRust language website [http://www.rust-lang.org/] Claims verschieben die Semantik als eines der Merkmale der Sprache. Aber ich kann nicht sehen, wie die Verschiebungssemantik in Rust implementiert ist. Rust-Boxen sind der einzige Ort, an dem ...

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

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