boost::shared_ptr versus boost::ptr_container
Bonjour à tous!
Alors la question est plutôt simple
->Quelle est la différence entre un vector<boost::share_ptr<T> > et un boost::ptr_vector<T>
->Qu'est-ce que serait un boost::ptr_vector<boost::share_ptr<T> >?
->Comment remplacer un vector<share_ptr<T*>*> par un boost::ptr_vector?
(Pour la dernière question, c'est que j'ai une classe abstraite A dont hérite B, et je veux pouvoir profiter du polymorphisme d'inclusion dans un vector. Je dois donc faire un vector<A*>. Or ce vector se trouve dans une classe C où A est encapsulé dans un share_ptr. Je dois donc déclarer un vector<share_ptr<A*> > sur lequel je ne suis pas capable d'itérer. De plus, il alourdit fortement la syntaxe, avec les doubles déréférencement. Je veux donc le remplacer).
Merci d'avance à tous!