boost::shared_polymorphic_downcast
und die anderen boost::shared_ptr
-Funktionen liegen in <boost/shared_ptr.hpp>
Ich habe kürzlich die Unterstützung von C ++ 11 in GCC mit -std=c++0x
aktiviert. Um Verwirrung zu vermeiden, habe ich mich von boost::shared_ptr
nach std::shared_ptr
bewegt, das in #include <memory>
liegt.
Es scheint jedoch, dass shared_polymorphic_downcast
nicht Teil des Namensraums std
ist und nicht in #include <memory>
enthalten ist.
Weißt du wo es ist? Habe ich die Missbilligung Memo vermisst; -)
Sie benötigen entweder std::static_pointer_cast
oder std::dynamic_pointer_cast
, je nachdem, ob Sie static_cast
oder dynamic_cast
behavior möchten.
Neueste Versionen der Boost Smart Pointer-Bibliothek enthalten diese Funktionen auch für boost::shared_ptr
.
Tags und Links c++ c++11 stl boost shared-ptr