unique_ptr मैं एक साधारण noob सवाल है कि मैं करने के लिए एक जवाब नहीं मिल सकता है मिल गया है:Convert वस्तु एसटीडी ::
C++ में कैसे आप एक में एक नियमित रूप से वस्तु
int i;
परिवर्तित std::unique_ptr
?
std::unique_ptr<int> iptr = &i; //invalid
std::unique_ptr<int> iptr = static_cast<std::unique_ptr<int>>(&i); //invalid
धन्यवाद।
हालांकि पूर्णता के लिए समारोह अच्छा होगा, लेकिन मुझे नहीं लगता कि इसे आवश्यकतानुसार बहुत अनदेखा किया गया था। याद रखें कि make_shared एक बार में दो ऑब्जेक्ट्स आवंटित करने की समस्या हल करता है (कोई समकक्ष कन्स्ट्रक्टर नहीं है), जबकि unique_ptr को इसकी आवश्यकता नहीं है (इसमें डिज़ाइन द्वारा शून्य ओवरहेड है)। –
यह सच नहीं है। यदि आप एक फ़ंक्शन कॉल में दो अद्वितीय_ptrs बनाते हैं, तो अभी भी अपवाद असुरक्षित है, उदाहरण के लिए, जो make_unique बचाता है। – Puppy
क्या आप उस बिंदु पर सीधे unique_ptr बनाकर उस से बच नहीं सकते हैं? 'func (unique_ptr (नया टी), unique_ptr (नया यू))' –