cs_mohamed1985
Messages postés7Date d'inscriptionsamedi 28 avril 2007StatutMembreDernière intervention 9 juin 2008
-
31 mai 2007 à 14:41
mezaya
Messages postés202Date d'inscriptiondimanche 18 mai 2003StatutMembreDernière intervention 6 mars 2010
-
1 juin 2007 à 22:43
ma question sur les itérateurs ds c++:
prquoi on met on incrémente avant de travailler
ex: for(vector::iterator it=v.begin;it!=v.end();++it)
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 31 mai 2007 à 16:25
Ici ça ne change strictement rien. Faire i++ ou ++i dans cette boucle revient au même. La différence survient seulement lorsque la valeur de la variable incrémentée est directement utilisée comme ceci:
if(i++ < 5)
Cette instruction n'est pas du tout équivalente à:
if(++i < 5)
Ici, il y a une différence car on utilise la valeur de la variable avec l'instruction d'incrémentation.
Cependant, comme dans l'exemple suivant, utiliser la pré ou post-incrémentation ne change rien:
if(c == 5)
i++;
Ici, cette instruction est équivalente à
if(c == 5)
++i;
Il n'y a pas de différence car la valeur de la variable n'est pas utilisée avec l'instruction d'incrémentation.
Loki6
Messages postés286Date d'inscriptiondimanche 27 novembre 2005StatutMembreDernière intervention27 décembre 20092 1 juin 2007 à 10:41
Bonjour
mohamed1985 !
je ne comprends pas pourquoi tu bloques sur ce point. on t'a déjà répondu plusieurs fois à la question sur la boucle for et tu continues de la poser. dis nous donc ton véritable problème STP
mezaya
Messages postés202Date d'inscriptiondimanche 18 mai 2003StatutMembreDernière intervention 6 mars 2010 1 juin 2007 à 22:43
juste une précision le i++ fait une copie de l'objet alors que le ++i ne le fait pas. pas très grave pour les type de base car si la copie n'est pas utilisé, le compilo (Visual du moins) le remplace par un ++i.