Accecer a une fonction membre avec des iterateurs (encore une ch'tite question s

Signaler
Messages postés
65
Date d'inscription
mardi 24 février 2004
Statut
Membre
Dernière intervention
11 décembre 2006
-
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
-
Salut,
toujours avec la stl en ce moment !
Cette fois j ai un vecteur d'objet et je cherche a supprimer un element du vecteur suivant les proprietes de l objet stocké.
Par exemple si j ai Une Classe avec une proriete i en entier, si Classe->i <= 42 alors supprimer cette element du vecteur. 
J aimerai le faire en utilisant les iterateur (car j aimerai le refaire avec des listes et la, pas de []).

Je n'arrive meme pas a acceder au fonction membre en utilisant les iterateurs !
Si vous avez la solution ou connaissez un tuto sur le net je suis preneur ! merci !

8 réponses

Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
24
Normalement si le  membre i est public tu doit pouvoir y acceder avec les iterateurs.
++
Messages postés
65
Date d'inscription
mardi 24 février 2004
Statut
Membre
Dernière intervention
11 décembre 2006

je peut avoir un exemple svp ?
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
9
Je ne sus pas vraiment sur, mais je pense que tu peux faire comme ca:

vector<Classe>::iterator i = v.begin();
while(i != v.end()) {
if(i->PasBon()) i = v.erase(i);
else i++;
}
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
Oui c'est bon, mais de toute facon, un itérateur, c'est "en gros" un pointeur.
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
9
Sauf qu'on peut l'incrémenter que de 1 à la fois. C'est doute plus sûr, mais c'est parfois énervant
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
Pourquoi voudrais tu l'incrémenter de plus de 1 objet ? Le seul cas ou
c'est possible serait pour les vectors. Mais avec eux, on peut utiliser
l'opérateur [ ].
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
9
C'est vraiq ue c'est bizarre, mais je crois me souvenir que ca m'aurait été utile dans une list
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
Mais dans une liste, il est évidemment impossible d'incrémenter un pointeur. Puisque les éléments ne sont pas "collés".