2011-01-14 2 views

risposta

24

Sì. puoi usare la funzione membro reset().

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

È possibile inizializzarlo nell'elenco di inizializzazione? Se é cosi, come? – User

6

scoped_ptr ha un metodo scoped_ptr<T>::reset(T * p=0) che può essere richiamato nel costruttore del classe di inclusione.