Was ist std::move() und wann sollte es verwendet werden?
Hallo Kollegen! Ich lerne C++11 und versuche, die Move-Semantik zu verstehen. Ich habe über std::move() gelesen, verstehe aber nicht ganz, was es ist und wozu es dient.\n\nZum Beispiel habe ich diesen Code:\n\n```cpp\nstd::vector createBigVector() {\n std::vector v(1000000, 42);\n return v;\n}\n\nint main() {\n std::vector data = createBigVector(); // Kopieren oder Verschieben?\n}\n```\n\nIch weiß, dass Compiler die Return-Value-Optimierung (RVO/NRVO) anwenden können, aber wenn ich explizit std::move() im return verwende, hilft oder stört das?\n\nEin weiteres Beispiel: Ich möchte ein großes Objekt an eine Funktion übergeben, aber nach der Übergabe brauche ich es nicht mehr. Wie verwende ich std::move() richtig?\n\n```cpp\nvoid processData(std::vector data) {\n // ... viel Arbeit mit data\n}\n\nint