Avatar ·

Was ist std::move() und wann sollte es in C++ verwendet werden?

Hallo Kollegen! Ich habe vor kurzem angefangen, C++11 zu lernen und bin auf std::move() gestoßen. Ich habe die Dokumentation gelesen, aber nicht ganz verstanden, was das für ein Ding ist und wofür es benötigt wird. Ich habe diesen Code: ```cpp #include #include #include class MyClass { public: std::string data; MyClass(const std::string& str) : data(str) {} }; int main() { std::vector vec; std::string bigString = "eine sehr lange Zeichenkette, die viel Speicher belegt..."; // Variante 1: einfach hinzufügen MyClass obj1(bigString); vec.push_back(obj1); // Variante 2: std::move verwenden MyClass obj2(bigString); vec.push_back(std::move(obj2)); return 0; } ``` Ich verstehe, dass std::move() irgendwie mit Verschiebung (move) und nicht mit Kopieren zusammenhängt.