Suchergebnisse für Anfrage "move-semantics"

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

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

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

TOP-Veröffentlichungen

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

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

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

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

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

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

1 die antwort

Ist std :: move (* this) ein gutes Muster?

Damit dieser Code mit C ++ 11-Referenzqualifizierern wie erwartet funktioniert, muss ich einstd::move(*this) das klingt nicht richtig #include<iostream> struct A{ void gun() const&{std::cout << "gun const&" << std::endl;} void gun() &&{std::cout ...