PpHd (./30) :
Sinon:
-- imagine une architecture où sizeof(int)=1048576 et où le compilo parallélise automatiquement, y aura un core qui sera en train d'écrire n'importe quoi dans c pour l'incrémenter, alors que l'autre sera en train d'essayer de comprendre ce qu'il y a dans c et se retrouvera avec une version corrompue de c ^^
Je l'imagine mal, très mal. Tu peux détailler une architecture où pour calculer "c != c++" il fait du multicore ?
c'est complètement irréaliste, mais tu vois bien l'idée... de toute façon dans les architectures actuelles il n'y a pas de notion ni d'entier invalide (parce que chaque valeur correspond à un entier, ie UINT_MAX+1 = 1<<sizeof(int)*CHAR_BITS) ni d'entier corrompu (parce que les lectures/écritures sont atomiques, en tout cas pour les int), mais ça ne veut pas dire que le compilo ne peut pas exploiter cette information pour mieux optimiser ^^ (je crois que j'avais posté un exemple de ça dans un topic y a qqs mois)