मैं कैसे scoped_ptr
या scoped_array
कस्टम Deleter
आप नहीं कर सकते हैं उपयोग करने के लिए प्राप्त करने के लिए नहीं दिख रहा है।
शायद एक और कार्यान्वयन है जो shared_ptr
के समान नियंत्रित विलोपन की अनुमति देता है?
यदि आपका कंपाइलर रैवल्यू संदर्भों का समर्थन करता है और आपके मानक लाइब्रेरी कार्यान्वयन std::unique_ptr
लागू करता है, तो आप इसका उपयोग कर सकते हैं।
अन्यथा, boost::scoped_ptr
कार्यान्वयन बहुत सरल है। The latest version सरल कोड की 100 से कम लाइनों से कम है। अपने स्वयं के व्युत्पन्न को बनाना बहुत आसान होगा जिसमें एक कस्टम डिलीटर होता है (या तो एक टेम्पलेट पैरामीटर के माध्यम से स्थिर या रनटाइम पर प्रदान किए गए फ़ंक्शन या फ़ैक्टर के माध्यम से गतिशील)।
स्रोत
2011-04-15 20:19:07
scoped_ptr सरल है, लेकिन नियंत्रित हटाने को सक्षम करना सीधा नहीं होगा। Shared_ptr जितना जटिल नहीं है, लेकिन फिर भी यदि लाइब्रेरी समाधान उपलब्ध है तो मैं इसे कोड नहीं करना चाहूंगा। – pic11