Ordre d'évaluation des opérandes

À 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