मैं स्मार्ट पॉइंटर्स के साथ "तीन नियम" का उपयोग कर थोड़ा उलझन में हूं। अगर मेरे पास एक वर्ग है जिसका एकमात्र डेटा सदस्य स्मार्ट पॉइंटर है, तो क्या मुझे विनाशक, कॉपी कन्स्ट्रक्टर और असाइनमेंट ऑपरेटर को स्पष्ट रूप से परिभाषित करने की आवश्यकता है?स्मार्ट पॉइंटर के साथ तीन का नियम?
मेरी समझ यह है कि चूंकि स्मार्ट पॉइंटर स्वचालित रूप से संसाधन को संभाल लेगा, इसलिए मुझे विनाशक को स्पष्ट रूप से परिभाषित करने की आवश्यकता नहीं है, और इस प्रकार मुझे तीनों के नियम के आधार पर अन्य दो के लिए ऐसा करने की आवश्यकता नहीं है। हालांकि, मुझे यकीन नहीं है कि डिफ़ॉल्ट प्रतिलिपि निर्माता स्मार्ट पॉइंटर्स जैसे shared_ptr के लिए पर्याप्त है।
आपकी मदद के लिए धन्यवाद!
EXP0, आप बेहतर ढंग से स्पष्ट करते हैं कि आप किस प्रकार का स्मार्ट पॉइंटर उपयोग करते हैं। क्या यह std :: auto_ptr, या boost :: shared_ptr <> जैसा कुछ है? – Lev