Avatar ·

std::move() क्या है और C++ में इसका उपयोग कब करना चाहिए?

नमस्ते सहयोगियों! मैंने हाल ही में C++11 सीखना शुरू किया है और std::move() पर ध्यान गया। मैंने दस्तावेज़ पढ़ा, लेकिन पूरी तरह से समझ नहीं पाया कि यह क्या है और इसकी आवश्यकता क्यों है। मेरे पास ऐसा कोड है: ```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 = "बहुत लंबी स्ट्रिंग जो बहुत अधिक मेमोरी लेती है..."; // विकल्प 1: बस जोड़ना MyClass obj1(bigString); vec.push_back(obj1); // विकल्प 2: std::move का उपयोग करना MyClass obj2(bigString); vec.push_back(std::move(obj2)); return 0; } ``` मैं समझता हूँ कि std::move() डेटा की कॉपी करने के बजाय मूव करने से संबंधित है। लेकिन अंतर क्या है? std::move() का उपयोग कब करना चाहिए और कब इससे बचना चाहिए? और मूव करने के बाद मूल ऑब्जेक्ट का क्या होता है? कृपया सरल उदाहरणों के साथ समझाएँ कि यह कैसे काम करता है।