Después de leer timdays answer-this question Tengo curiosidad acerca de la diferencia entre boost::ptr_container
y una std::vector<shared_ptr>
. Tenía la impresión de que a boost::ptr_container
had ownership over the pointers given to it, y al momento de la liberación llamaría a los destructores de todos los punteros que contenía, independientemente de otras referencias a sus habitantes. ¿Qué es contrario al propósito de un std::vector<shared_ptr>
, que después del lanzamiento solo lanzaría los punteros si el recuento de ref era 0?impulso :: ptr_container y std :: vector <shared_ptr>
Si este es el caso (supongo que no lo es), ¿por qué incluso el ejemplo de documentación Boost compare the two como si ellos son similares en propósito, y por qué se timday a responder a proponer un boost::ptr_container
cuando es muy diferente a la finalidad de un std::vector<shared_ptr>
.