Différence entre i ++ et ++ i dans une boucle for

Doublons possibles:
Incrémentation en C ++ – Quand utiliser x ++ ou ++ x?

Quelle est la différence entre

for (int i = 0; i < MAX; i++) { //...do something } 

et

 for (int i = 0; i < MAX; ++i) { //...do something } 

?

Rien du tout. L’incrément est une instruction unique, donc peu importe qu’il soit pré-incrémenté ou post-incrémenté.

Les opérateurs post-et pré-incrémentation importent principalement si vous vous souciez de la valeur d’une variable dans une instruction composée. Les instructions d’incrémentation autonomes, comme la troisième clause de la boucle for, ne sont pas affectées par votre choix de pré ou post.

int j = i++; et int j = ++i; sont très différents. Voulez-vous la valeur actuelle de i ou voulez-vous la valeur incrémentée de i ? Dans l’exemple de la boucle for, vous ne vous souciez pas tant que vous incrémentez.

Cela n’a d’importance que si l’optimiseur n’est pas assez intelligent pour se rendre compte qu’il peut faire ++ i même si vous avez spécifié i ++. (Ce qui n’est pas très probable dans les compilateurs modernes.)

Vous pouvez reconnaître les très vieux programmeurs car ils utilisent toujours ++ i sauf s’ils ont besoin d’utiliser i ++, car autrefois les compilateurs étaient beaucoup moins intelligents.