Non (vous devez faire la suppression vous-même à la fin comme vous le suggérez dans votre exemple car la destruction du pointeur chauve ne fait rien). Mais vous pouvez utiliser un pointeur intelligent boost [ou autre idiome basé sur RAII] pour lui faire faire la bonne chose ( auto_ptr
ne fonctionnerait pas correctement dans un conteneur car il a un comportement incompatible avec la copie, etc.), mais assurez-vous de comprendre les pièges de ces pointeurs intelligents avant de les utiliser. (Comme Benoit le mentionne, dans ce cas, basic_string
est ce que vous recherchez vraiment ici).
Cela dit, il est nécessaire de comprendre les pièges des pointeurs intelligents, car le fait qu'ils prennent en charge la gestion de la mémoire de manière implicite afin que vous n'ayez pas à le faire de manière explicite est bien moins propice aux erreurs.
EDIT : Révision substantielle afin d'inclure les éléments que Benoît a apportés dans sa réponse beaucoup plus approfondie, grâce à l'insistance de l'Earwicker et de James Matta - merci de m'avoir poussé à faire preuve de diligence raisonnable à ce sujet !