cs_mohamed1985
Messages postés7Date d'inscriptionsamedi 28 avril 2007StatutMembreDernière intervention 9 juin 2008
-
30 mai 2007 à 02:17
Loki6
Messages postés286Date d'inscriptiondimanche 27 novembre 2005StatutMembreDernière intervention27 décembre 2009
-
30 mai 2007 à 15:04
je veux savoir la difference entre f(const int &i) et f( int &i)
et aussi la difference entre for(int i=0;i<n;i++) et for(int i=0;i<n;++i)
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 30 mai 2007 à 04:04
1. Un const devant un type de variable signifie que la valeur de la variable ne peut pas être modifié je crois.
2. Dans le contexte présent, il n'y a pas de différence.
Leur signification est la suivante:
++variable : incrémente la valeur de la variable de +1 et utilisation de sa valeur.
variable ++ : utilisation de la valeur de la variable et incrémentation de +1.
THEwarrior333
Messages postés192Date d'inscriptionvendredi 19 mars 2004StatutMembreDernière intervention30 janvier 2008 30 mai 2007 à 04:05
- quand tu fais f(const int &i) tu passes une référence constante d'un objet (en l'occurence i) donc tu passes i lui-même et non une copie de i (référence) mais dans f tu ne pourras que lire la valeur de i sans pouvoir la modifier (const). const est rarement utilisé de cette manière.
- quand tu fais for(int i=0;i<n;++i) i donne sa valeur avant d'être incrémenté. Cependant ici (i.e. dans le cas du for) cela ne change rien car le test conditionnel sera de toute facon effectué apres l'incrémentation de i. En revanche:
i = 1;
a = i++;
donne a == 2
alors que
i = 1;
a = ++i;
donne a == 1 (mais i==2)
Loki6
Messages postés286Date d'inscriptiondimanche 27 novembre 2005StatutMembreDernière intervention27 décembre 20092 30 mai 2007 à 11:19
THEwarrior33 > il me semble que c'est l'inverse pour i++ et ++i. d'ailleurs SAKingdom a l'air de penser comme moi si je n'ai pas mal lu.
quand les ++ sont devant, on incrémente avant, quand ils sont derrière on incrémente après. ça serait plus logique.
donc
i = 1;
a = i++;donne a 1 et i 2
alors que
i = 1;
a = ++i;donne a 2 et i 2
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 30 mai 2007 à 14:23
J'ai répondu sur l'autre topic qu'il a envoyé. Si il ne comprend toujours pas cette description, c'est que c'est d'un livre de C++ qu'il a besoin pas de nous.