मैं एक वर्ग एक जो प्रकार एम और एन के सदस्य चर उन वस्तुओं की जीवन काल ए के जीवनकालबनाम सदस्य चर
मैं विचार कर रहा हूँ द्वारा सीमित किया जा करने वाले हैं है है के रूप में मूल्य स्मार्ट संकेत
class A {
M member1;
N member2;
}
बनाम
class A {
std::unique_ptr<M> member1;
std::unique_ptr<N> member2;
}
मैं पूरी तरह यकीन है कि जो बेहतर है, क्योंकि वे दोनों को पूरा जो मैं चाहता नहीं हूँ। सदस्यों का जीवनकाल वस्तु से बंधे हैं, और मुझे मैन्युअल रूप से स्मृति का प्रबंधन करने की आवश्यकता नहीं है। प्रत्येक सेटअप के फायदे और नुकसान क्या हैं?
के जीवन चक्र में समय यदि सूचक होने का कोई कारण नहीं है तो पॉइंटर क्यों है? सभी सदस्य विनाशक में "नष्ट" हैं। – NathanOliver
एकमात्र समय जब आप * एम 'और पॉइंटर्स के रूप में 'एन' बनाना चाहते हैं, वे बहुत बड़े होंगे, और उन्हें ढेर पर बनाने से आप स्टैक स्पेस –
से बाहर निकल सकते हैं यदि आप केवल गतिशील आवंटन का उपयोग करते हैं एक कारण है, और एक अच्छा कारण है। उदाहरण के लिए, यदि आपके सदस्य वस्तुएं विशाल हैं और ढेर को तोड़ सकती हैं। अन्यथा, गतिशील आवंटन/संकेत के ओवरहेड को निर्विवाद रूप से प्रस्तुत न करें। –