C ++:可以在构造函数中初始化boost :: scoped_ptr吗?

时间:2011-01-14 14:55:33

标签: c++ boost scoped-ptr

可以在类'构造函数中初始化类型boost::scoped_ptr的类成员吗?怎么样?
(不在初始化列表中)

2 个答案:

答案 0 :(得分:25)

是。你可以使用reset()成员函数。

class foo {
public:
    foo()
    {
         p.reset(new bar());
    }
private:
  boost::scoped_ptr<bar> p;
};

答案 1 :(得分:6)

scoped_ptr有一个方法scoped_ptr<T>::reset(T * p=0),您可以在封闭类的构造函数中调用它。