मेरे पास एक ऐसा मामला है जहां मैं std :: वेक्टर में संसाधनों की एक सूची स्टोर करना चाहता हूं। मैं इसे देखना के रूप में, मेरे विकल्प इस प्रकार हैं:आरएआईआई और सी ++ एसटीएल
- एक डिफ़ॉल्ट निर्माता
- स्टोर उन्हें दे मेरी संसाधन ढेर वस्तुओं (और उन्हें एक साझा सूचक में लपेट)
विकल्प 1 यह बनाता है के रूप में अमान्य संसाधनों का निर्माण संभव है और विकल्प 2 मुझे ढेर का उपयोग करने के लिए मजबूर करता है।
क्या मुझे यहां कोई विकल्प याद आ रहा है?
आप संसाधन डिफ़ॉल्ट ctor क्यों देना चाहते हैं? वेक्टर केवल कॉपी सीटीआर की आवश्यकता है। – Naveen
"विकल्प 2 मुझे ढेर का उपयोग करने के लिए मजबूर करता है" - ठीक है, वेक्टर अपनी सामग्री को ढेर पर भी स्टोर करेगा (जब तक आप एक कस्टम आवंटक का उपयोग नहीं करते), हालांकि संगत स्मृति में। तो आप एक ही तरीके से ढेर का उपयोग करके बाईपास करने में सक्षम नहीं होंगे। –
ने पाया कि मैं अपने संसाधन में एक संदर्भ संग्रहीत कर रहा था, इसलिए समस्या डिफ़ॉल्ट कन्स्ट्रक्टर नहीं थी, thx – dirk