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