मान लें मैं एक वर्ग foo है, और एक std :: मानचित्र का उपयोग करने के लिए कुछ बढ़ावा :: shared_ptrs स्टोर करने के लिए चाहते हैं, उदाहरण के लिए:बढ़ावा :: shared_ptr मानक कंटेनर
class foo;
typedef boost::shared_ptr<foo> foo_sp;
typeded std::map<int, foo_sp> foo_sp_map;
foo_sp_map m;
मैं के लिए एक नया foo_sp जोड़ते हैं नक्शा लेकिन कुंजी का उपयोग पहले से मौजूद है, क्या मौजूदा प्रविष्टि हटा दी जाएगी? उदाहरण के लिए:
foo_sp_map m;
void func1()
{
foo_sp p(new foo);
m[0] = p;
}
void func2()
{
foo_sp p2(new foo);
m[0] = p2;
}
क्या मूल सूचक (पी) को पी 2 द्वारा प्रतिस्थापित किया जाएगा जब मुक्त किया जाएगा? मुझे यकीन है कि यह होगा, लेकिन मैंने सोचा कि यह पूछने/साझा करने लायक था।
संशोधित प्रश्न - साझा_ptr को auto_ptr नहीं किया जाना चाहिए, – Rob
यह "_have_" –