После прочтения timdays answer к this question мне любопытно о разнице между boost::ptr_container
и std::vector<shared_ptr>
. У меня создалось впечатление, что a boost::ptr_container
had ownership over the pointers given to it, и после релиза назвал бы деструкторов всех указателей, которые он содержал, независимо от других ссылок на его жителей. Что противоречит назначению std::vector<shared_ptr>
, которое после выпуска выпустило бы только сами указатели, если количество ссылок было 0?повышение :: ptr_container и станд :: вектор <shared_ptr>
Если это так (я предполагаю, что это не так), то почему бы даже пример подталкивания документация compare the two, как будто они похожи на цели, и почему бы timday Ответим предложить boost::ptr_container
, когда он сильно отличается от цели от std::vector<shared_ptr>
.