Salut,
Je travaille sur un vector d'objets. J'ai besoin de parcourir les objets dans l'ordre, mais au cours du parcours je peux me rendre compte que certains doivent être supprimés.
J'ai déjà l'habitude de faire ça facilement lorsque l'objet à supprimer est celui sur lequel est l'itérateur courant :
Mais ici je coince car il est possible que ce soient aussi des objets situés avant ou après l'itérateur courant. Je suppose que si j'efface violemment un bout du vecteur sur lequel je boucle ça risque de mal se passer. Quelles solutions voyez-vous ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for (iter = monVecteur.begin; iter != monVecteur.end(); /* Rien */) { if (suppression) { iter = monVecteur.erase(iter);} else { iter++; } }
Merci
Partager