C++11 में मूव सेमैंटिक्स (move semantics) क्या है और यह कैसे काम करता है?
सभी को नमस्ते! मैंने C++11 सीखना शुरू किया है और मैं लगातार "move semantics" शब्द पर ठोकर खा रहा हूँ, लेकिन मैं पूरी तरह से समझ नहीं पा रहा हूँ कि यह क्या है और इसकी आवश्यकता क्यों है। मैंने विभिन्न लेख पढ़े, लेकिन हर जगह उदाहरण कुछ अमूर्त (abstract) हैं।
मेरे पास ऐसा कोड है। मान लीजिए, मैं एक class लिख रहा हूँ जो dynamic array को manage करता है:
```cpp
#include
#include
class MyArray {
public:
int* data;
size_t size;
MyArray(size_t s) : size(s) {
data = new int[size];
std::cout << "Constructor called\n";
}
MyArray(const MyArray& other) : size(other.size) {
data = new int[size];
std::memcpy(data, other.data, size * sizeof(int));
std::cout << "Copy constructor called\n";
}
MyArray& operator=(const MyArray& other) {
if (this != &other) {
delete[] data;
size = other.size;
data = new int[size];
std::memcpy(data, other.data, size * sizeof(int));
s