क्या std::make_unique
कोई दक्षता लाभ है std::make_shared
?
मैन्युअल रूप से निर्माण की तुलना में std::unique_ptr
:
std::make_unique<int>(1); // vs
std::unique_ptr<int>(new int(1));
make_shared
ऑब्जेक्ट के लिए स्पेस और कंट्रोल ब्लॉक के लिए एक ही आवंटन में एक साथ जगह आवंटित कर सकते हैं। इसकी लागत यह है कि वस्तु को नियंत्रण खंड से अलग नहीं किया जा सकता है, इसलिए यदि आप weak_ptr
बहुत अधिक उपयोग करते हैं तो आप अधिक मेमोरी का उपयोग करके समाप्त हो सकते हैं।
make_shared
केवल लंबे हाथ कोड लिखने पर कोई दक्षता है?