将vector <boost :: shared_ptr>复制到另一个向量</boost :: shared_ptr>时会发生什么

时间:2010-05-19 15:23:28

标签: c++ boost vector

我们是否获得指针的多个副本但数据成员仍在共享?

  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;  

输出: 你好你好 Hello WorldHello World

1 个答案:

答案 0 :(得分:0)

是。但是不要相信我的话,试试看。