假设我有类
class A{ public: A(int a,boost::shared_ptr<int> ptr){ // whatever! } };
我的问题是,该ptr的默认值是多少?我想使用这个类创建一个实例
A myA(5);
当然我知道我可以使用一个参数创建另一个构造函数,但是我正在寻找类似的东西
A(int a,boost::shared_ptr<int> ptr = WAT?)
可能吗?目前我使用的是两种构造方法,但是这样做是非常好的.
解决方法
#include <boost/make_shared.hpp> A(int a,boost::shared_ptr<int> ptr = boost::make_shared<int>())
检查http://www.boost.org/doc/libs/1_43_0/libs/smart_ptr/make_shared.html