2010-05-19 1 views
0

데이터 요소가 아직 공유되어 있지만 포인터의 사본이 여러 개 있습니까?벡터 <boost :: share_ptr>을 다른 벡터에 복사 할 때 어떤 일이 발생합니까?

boost::shared_ptr<string> a1(new string("Hello")); 
    vector<boost::shared_ptr<string> > a; 
    a.push_back(a1); 

    vector<boost::shared_ptr<string> > b; 
    b = a; 

cout<<a[0]->c_str()<<b[0]->c_str()<<endl; 

a1->append(" World"); 

cout<<a[0]->c_str()<<b[0]->c_str()<<endl; 

출력 : HelloHello 안녕하세요 WorldHello 세계

+9

우리가하지 않았다면, shared_ptr 클래스의 핵심은 무엇입니까? –

답변

0

예. 그러나 그것을 위해 내 말을 듣지 마라.

+0

은 간단한 테스트를 작성했으며 .. 당신 말이 맞아요. 그냥 이것을 공유하기를 원했기 때문에 그 이유에 대해 질문을했습니다. :) – SWKK

관련 문제