что происходит, когда вы копируете вектор <boost :: share_ptr> в другой вектор - PullRequest
0 голосов
/ 19 мая 2010

Получаем ли мы несколько копий указателей, а данные все еще используются?

  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;  

Выход: Привет привет Привет, мир! Привет, мир

1 Ответ

0 голосов
/ 19 мая 2010

Да. Но не верьте мне на слово, попробуйте и посмотрите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...