Bonjour,
Dans un programme, je lis une instruction du type:
toto = (toto++)%5;
est-ce bien equivalent a :
toto = toto%5;
toto++;
ou a autre chose ???
Merci d'avance
Bonjour,
Dans un programme, je lis une instruction du type:
toto = (toto++)%5;
est-ce bien equivalent a :
toto = toto%5;
toto++;
ou a autre chose ???
Merci d'avance
Si ça fonctionne comme en Java , oui c'est équivalent.
Oui.
Personnellement je n'aime pas du tout ce genre de philosophie "en écrire le plus possible sur une seule ligne". Pour peu qu'une expression soit un peu plus complexe que ça et que le développeur n'ai pas pris le temps de commenter, c'est parfait pour perdre du temps lors de la relecture.
L'incrémentation ne sert a rien puisque toto sera de toute façon réaffecté avec le résultat de l'opération.
Ce serait plutôt équivalent à ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part toto = (toto + 1) % 5;
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
Je dirais plutôt que
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 toto = ++toto % 5 serait équivalent à toto = (toto + 1) % 5;
Mais je ne suis pas sûr non plus que l'incrémentation se fasse avant l'assignation ou vice-versa, et peut-être que ce n'est pas défini.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 toto = toto++ % 5 serait équivalent à toto = toto % 5; toto = toto + 1;
Donc +1 pour une forme plus explicite.
OUI
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 toto = ++toto % 5 serait équivalent à toto = (toto + 1) % 5;
Non l'incrémentation se fait au moment du calcul donc c'est équivalent à
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 toto = toto++ % 5 serait équivalent à toto = toto % 5; toto = toto + 1;
donc le toto++ ne sert à rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 titi = toto % 5; toto = toto + 1; toto = titi
Moi je parie sur l'indéfinie
toto = toto++ % 5
peut aussi bien être équivalent à :
que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 toto = toto % 5; toto = toto + 1;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 tmp = toto % 5; toto = toto +1; toto = tmp;
Bizare, sur mon compilateur j'ai x=3 et y=2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 int x=7; x=(x++)%5; int y=7; y=(y)%5;
Donc je pense comme Mongaulois
tu regarder ce thread
ca commence ici
http://www.developpez.net/forums/sho...&postcount=229
et ca en parle mieux a partir d'ici
http://www.developpez.net/forums/sho...40#post2473540
Partager