Suchergebnisse für Anfrage "move-semantics"
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 ...
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) { ...
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 ...
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 ...
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 ...
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 ...
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 ...
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, ...
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 ...
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 ...