Puis-je continuer à utiliser un itérateur multimap même après un appel à multimap :: erase()? Par exemple:Puis-je continuer à utiliser un itérateur après la suppression d'un élément de std :: multimap <>?
Blah::iterator iter;
for (iter = mm.begin();
iter != mm.end();
iter ++)
{
if (iter->second == something)
{
mm.erase(iter);
}
}
Si cela s'attendre à fonctionner correctement, ou est l'itérateur invalidée suite à l'appel à effacer? Les sites de référence comme http://www.cplusplus.com/reference/stl/multimap/erase.html sont étrangement silencieux sur ce sujet de la durée de vie des itérateurs, ou sur les effets des méthodes constructives/destructrices sur les itérateurs.
"étrangement silencieux" J'adore! –