सी ++ का सबसे छोटा हिस्सा क्या है जो आप वेक्टर या पॉइंटर्स की सूची को सुरक्षित रूप से साफ करने के लिए आ सकते हैं? (यह मानते हुए आप कॉल करने के लिए संकेत पर हटाना चाहते हैं?)पॉइंटर्स की एक एसटीएल सूची/वेक्टर की सफाई
list<Foo*> foo_list;
मैं नहीं बल्कि बूस्ट का उपयोग या स्मार्ट संकेत के साथ अपने संकेत रैप नहीं चाहते हैं।
स्मार्ट संकेत (बूस्ट :: shared_ptr सहित) परिस्थितियों में अपने वस्तुओं को नष्ट आप मुश्किल के एक महान सौदा देखकर कि यह मैन्युअल रूप से किया है होगा जहां होगा। –
अपने पॉइंटर्स को हटाने के लिए कंटेनर के बाहर कोड पर भरोसा करना वास्तव में खतरनाक है। क्या होता है जब एक अपवाद के कारण कंटेनर नष्ट हो जाता है, उदाहरण के लिए? मुझे पता है कि आपने कहा कि आपको बढ़ावा पसंद नहीं है, लेकिन कृपया [बूस्ट पॉइंटर कंटेनर] (http://www.boost.org/doc/libs/1_37_0/libs/ptr_container/doc/ptr_container.html) पर विचार करें। –
i second you राय –