L'utilisation d'effet de bord sur les paramètres effectifs d'une macro peut
avoir des effets complètement inattendus.
Après la définition :
#define CARRE(a) ((a) * (a))
l'utilisation de CARRE(x++)
aura comme expansion ((x++) * (x++))
,
l'opérateur ++ sera donc appliqué deux fois.
Matthieu Moy
2017-02-08