C++: Можно ли инициализировать boost::scoped_ptr внутри конструктора?
Может ли член класса типа boost::scoped_ptr
быть инициализированным внутри конструктора класса? Как?
(Нет в списке инициализации)
2 ответа
Решение
Да. Вы можете использовать функцию возврата reset().
class foo {
public:
foo()
{
p.reset(new bar());
}
private:
boost::scoped_ptr<bar> p;
};
scoped_ptr имеет метод scoped_ptr<T>::reset(T * p=0)
который вы можете вызвать в конструкторе вашего окружающего класса.