non capisco bene il tuo codice, scusa.
Come popoli il vettore? Devi farci vedere anche quella parte.
Comunque il vettore appena esce dallo scope invoca i distruttori di tutti i tuoi shared_ptr, decrementando i loro counter.
Se ricordo bene il reference counter di uno shared_ptr incrementa quando invochi il copy constructor o l'assignement operator di shared_ptr.
Se riempi il vettore con questo codice, per esempio:
Codice:
vettore.push_back(boost::shared_ptr<Pippo>(oggettoPippo));
Oppure, se si puo` fare, non ricordo
Codice:
vettore.push_back(oggettoPippo);
Ti andrebbe a cancellare sicuramente l'oggetto una volta che vettore viene distrutto.