Todos sabemos que los punteros RAW deben estar envueltos en algún tipo de puntero inteligente para obtener la administración segura de excepciones de Exception. Pero cuando se trata de contenedores de punteros, el problema se vuelve más espinoso.Punteros y contenedores
El std contenedores insisten en el objeto contenido es copiable por lo que esto excluye el uso de std :: auto_ptr, aunque todavía se puede utilizar impulso :: shared_ptr etc.
Pero también hay algunos contenedores diseñados a impulsar de manera explícita para sostener con seguridad punteros:
Ver Pointer Container Library
La pregunta es: ¿en qué condiciones debería preferir utilizar los ptr_containers sobre un recipiente de smart_pointers?
boost::ptr_vector<X>
or
std::vector<boost::shared_ptr<X> >
Es posible y, a veces, la mejor opción, pero si una clase contiene 2 o más punteros RAW por lo que es seguro excepción no es trivial. Pero debería marcarlo por no responder la pregunta. –