Fra*_*ank 72 c++ boost shared-ptr static-cast
什么是一个相当于static_cast用boost::shared_ptr?
换句话说,我该如何重写以下内容
Base* b = new Derived();
Derived* d = static_cast<Derived*>(b);
Run Code Online (Sandbox Code Playgroud)
什么时候用shared_ptr?
boost::shared_ptr<Base> b(new Derived());
boost::shared_ptr<Derived> d = ???
Run Code Online (Sandbox Code Playgroud)
Fra*_*ank 105
用途boost::static_pointer_cast:
boost::shared_ptr<Base> b(new Derived());
boost::shared_ptr<Derived> d = boost::static_pointer_cast<Derived>(b);
Run Code Online (Sandbox Code Playgroud)
Mic*_*fik 22
有三种类型转换操作符的智能指针:static_pointer_cast,dynamic_pointer_cast,和const_pointer_cast.它们位于命名空间boost(由提供者<boost/shared_ptr.hpp>)或命名空间std::tr1(由Boost或编译器的TR1实现提供).