Dopo aver letto timdays answer-this question io sono curioso di sapere la differenza tra boost::ptr_container
e std::vector<shared_ptr>
. Avevo l'impressione che lo a boost::ptr_container
had ownership over the pointers given to it, e al momento del rilascio, chiamasse i distruttori di tutti i suggerimenti che conteneva a prescindere da altri riferimenti ai suoi abitanti. Quale è contrario allo scopo di un std::vector<shared_ptr>
, che dopo il rilascio rilascerebbe solo i puntatori stessi se il numero di riferimento era 0?boost :: ptr_container e std :: vector <shared_ptr>
Se questo è il caso (suppongo che non lo è), perché avrebbero anche l'esempio di documentazione Boost compare the two come se essi sono simili nello scopo, e perché avrebbero timday di rispondere a proporre un boost::ptr_container
quando è molto diverso allo scopo di un std::vector<shared_ptr>
.