Czy członek klasy typu boost::scoped_ptr
może zostać zainicjowany wewnątrz konstruktora klasy? W jaki sposób?
(Nie ma na liście inicjowania)C++: Czy można zwiększyć inicjację :: scoped_ptr w konstruktorze?
9
A
Odpowiedz
24
Tak. możesz użyć funkcji członkowskiej reset().
class foo {
public:
foo()
{
p.reset(new bar());
}
private:
boost::scoped_ptr<bar> p;
};
6
scoped_ptr ma metodę scoped_ptr<T>::reset(T * p=0)
który można zadzwonić w klasie konstruktora zamykając za.
Czy jest możliwe zainicjowanie go na liście inicjalizacji? Jeśli tak to jak? – User