Caudheur, tout depend de ce que tu stocke dans ton vector. Si tu as un std::vector<T> foo; alors foo[0] = someobjectt(); appelle l'operateur d'affectation sur T.
Si T est "Object *" qui est alloue dynamiquement et qu'il faut desallouer manuellement, alors oui, il faut que tu appelle delete sur le pointeur parceque l'operateur d'affectation defini pour les pointeurs ne desalloue pas la memoire. Mais ca ne devrait JAMAIS arriver une situation comme ca en C++, tu devrais utiliser un conteneur de pointeur alloue dynamiquement comme un std::smart_ptr (ou je-ne-sais-plus-quoi que ca s'appelle maintenant).
Si T est un vrai Object, alors l'operateur d'affectation devrait etre ecrit proprement et l'operation est safe.