Avatar ·

Was ist Move-Semantik (move semantics) in C++11 und wie funktioniert sie?

Hallo zusammen! Ich habe angefangen, C++11 zu lernen und stoße ständig auf den Begriff "move semantics", kann aber nicht ganz verstehen, was das ist und wozu es gut ist. Ich habe verschiedene Artikel gelesen, aber überall sind die Beispiele irgendwie abstrakt.\n\nIch habe diesen Code. Angenommen, ich schreibe eine Klasse, die ein dynamisches Array verwaltet:\n\n```cpp\n#include \n#include \n\nclass MyArray {\npublic:\n int* data;\n size_t size;\n\n MyArray(size_t s) : size(s) {\n data = new int[size];\n std::cout << "Constructor called";\n }\n\n MyArray(const MyArray& other) : size(other.size) {\n data = new int[size];\n std::memcpy(data, other.data, size * sizeof(int));\n std::cout << "Copy constructor called";\n }\n\n MyArray& operator=(const MyArray& other) {\n