C ++ 11中的boost :: shared_polymorphic_downcast的std等价物在哪里?

时间:2011-06-12 00:15:22

标签: c++ boost stl c++11 shared-ptr

boost::shared_polymorphic_downcast和其他boost::shared_ptr函数位于<boost/shared_ptr.hpp>

我最近在GCC中使用-std=c++0x启用了对C ++ 11的支持。为了避免混淆,我从boost::shared_ptr移至std::shared_ptr #include <memory>

然而,shared_polymorphic_downcast似乎不属于std命名空间,并且未包含在#include <memory>中。

你知道它在哪里吗?我是否错过了弃用备忘录; - )

1 个答案:

答案 0 :(得分:13)

您需要std::static_pointer_caststd::dynamic_pointer_cast,具体取决于您是希望static_cast还是dynamic_cast行为。

最新版本的Boost智能指针库也为boost::shared_ptr提供了这些功能。