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.
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen