Un membro della classe di tipo boost::scoped_ptr
può essere inizializzato nel costruttore della classe? Come?
(non presente nell'elenco di inizializzazione)C++: Può boost :: scopeed_ptr essere inizializzato all'interno di un costruttore?
9
A
risposta
24
Sì. puoi usare la funzione membro reset().
class foo {
public:
foo()
{
p.reset(new bar());
}
private:
boost::scoped_ptr<bar> p;
};
6
scoped_ptr ha un metodo scoped_ptr<T>::reset(T * p=0)
che può essere richiamato nel costruttore del classe di inclusione.
È possibile inizializzarlo nell'elenco di inizializzazione? Se é cosi, come? – User