类构造函数的boost :: shared_ptr的默认值

Jos*_*ino 10 c++ boost smart-pointers multiple-constructors

假设我有类似的课程

class A{
    public:
    A(int a, boost::shared_ptr<int> ptr){
        // whatever!
    }
};
Run Code Online (Sandbox Code Playgroud)

我的问题是,该ptr的默认值是多少?我希望能够使用创建该类的实例

A myA(5);
Run Code Online (Sandbox Code Playgroud)

当然我知道我可以用一个参数创建另一个构造函数,但我正在寻找类似的东西

A(int a, boost::shared_ptr<int> ptr = WAT?)
Run Code Online (Sandbox Code Playgroud)

可能吗?目前我正在使用双构造方式,但这样做会很棒.

One*_*One 11

#include <boost/make_shared.hpp>

A(int a, boost::shared_ptr<int> ptr = boost::make_shared<int>())
Run Code Online (Sandbox Code Playgroud)

查看http://www.boost.org/doc/libs/1_43_0/libs/smart_ptr/make_shared.html