À part quelques exceptions,
l'ordre d'évaluation des opérandes d'un opérateur n'est pas
spécifié par le langage.
Ceci a pour conséquence que le programmeur doit faire extrêmement attention
aux effets de bords dans les expressions.
Par exemple, l'instruction :
t[i] = f();
où la fonction f modifie la valeur de i a un comportement
indéterminé : il est impossible de savoir si la valeur prise
pour indexer t sera celle de i avant ou après l'appel à f.
Matthieu Moy
2017-02-08