class Object { };
Class Derived : public Object { };
boost::shared_ptr<Object> mObject(new Derived); // Ok
但如何将其投射到boost::shared_ptr<Derived>
?共享ptr铸造
我试过类似:static_cast< boost::shared_ptr<Derived> >(mObject)
,它失败了。
唯一的工作思路是:
boost::shared_ptr<Derived> res(new dynamic_cast<Derived*>(mObject.get()))
的可能重复[用升压:: shared_ptr的的static_cast?](http://stackoverflow.com/questions/624854/static-cast-with-boostshared-ptr) – 2011-02-26 11:14:09