कंस्ट्रक्टर या फंक्शन में unique_ptr को सही तरीके से कैसे पास करें?
नमस्ते! मैंने हाल ही में C++11 सीखना शुरू किया है और स्मार्ट पॉइंटर्स, विशेष रूप से std::unique_ptr को समझने की कोशिश कर रहा हूँ। मैंने पढ़ा कि वे मेमोरी को स्वचालित रूप से प्रबंधित करने में मदद करते हैं और delete की आवश्यकता नहीं होती। लेकिन मुझे एक समस्या आई: मैं समझ नहीं पा रहा हूँ कि फंक्शन और कंस्ट्रक्टर में unique_ptr को सही तरीके से कैसे पास करूँ।
यहाँ एक सरल क्लास है जो मैंने लिखा है:
```cpp
#include
#include
class MyClass {
public:
MyClass(std::unique_ptr ptr) : data(std::move(ptr)) {
std::cout << "Created with value: " << *data << std::endl;
}
private:
std::unique_ptr data;
};
void processData(std::unique_ptr ptr) {
std::cout << "Processing: " << *ptr << std::endl;
}
int main() {
auto p = std::make_unique(42);
// कंस्ट्रक्टर में p कैसे पास करूँ