10

Can a class member of type boost::scoped_ptr be initialized inside the class' constructor? How?
(Not in the initialization list)

Jonathan Livni
  • 101,334
  • 104
  • 266
  • 359

2 Answers2

25

Yes. you can use reset() member function.

class foo {
public:
    foo()
    {
         p.reset(new bar());
    }
private:
  boost::scoped_ptr<bar> p;
};
Artyom
  • 31,019
  • 21
  • 127
  • 215
6

scoped_ptr has a method scoped_ptr<T>::reset(T * p=0) which you can call in your enclosing class's constructor.

Michael Cornelius
  • 1,516
  • 1
  • 11
  • 11