De souvenir, faut justement pas utiliser les std::auto_ptr. C'est l'équivalent d'un boost::scoped_ptr sauf que dans boost, ils ont eu l'intelligence d'interdire sa copie.
Le std::auto_ptr, si tu en fait une copie et si copie est détruite tu perds ton pointeur. Et le std::auto_ptr qui avait été copié pointe maintenant sur de la mémoire désalouée.
Dc c'est bien naze.
Le boost::shared_ptr ajoute un compteur du nombre de copie et libère la mémoire quand la dernière copie est détruite.
edit: et dc dans ton vector ne surtout pas mettre de std::auto_ptr car au moindre resize du conteur (genre par ex. pour ajouter un nouvel élément) tu as plein de copies qui se font et tu perds du coup tous tes pointeurs...
Message édité par Amonchakai le 20-02-2013 à 20:42:43