2011-06-12 12 views
8

boost::shared_polymorphic_downcast y los otros boost::shared_ptr funciones residen en <boost/shared_ptr.hpp>¿Dónde está el equivalente estándar de boost :: shared_polymorphic_downcast en C++ 11?

Recientemente he habilitado el soporte para C++ 11 en GCC con -std=c++0x. Para evitar confusiones, me mudé de boost::shared_ptr a std::shared_ptr que reside en #include <memory>.

Sin embargo, parece que shared_polymorphic_downcast no es parte del espacio de nombres std y no está incluido en #include <memory>.

¿Sabes dónde está? ¿Me he perdido el memo desaprobación ;-)

+0

No se puede desaprobar una característica que nunca estuvo. –

+0

Lol, sí, estaba bromeando. Con frecuencia, borro por error la línea entre las funciones populares de Boost y el STL. –

Respuesta

13

O se necesita std::static_pointer_cast o std::dynamic_pointer_cast, dependiendo de si desea o static_castdynamic_cast comportamiento.

Las versiones recientes de la biblioteca Smart Pointers de Boost también incluyen estas funciones para boost::shared_ptr.

+1

derecho encendido. Vea aquí para una discusión: http://lists.boost.org/boost-users/2005/03/10589.php –

Cuestiones relacionadas