Sprachstandard (C99, C++) benutzt Begriff sequence point (Meilenstein):
bei Komma, Fragezeichen, &&
und ||
die Nebenwirkungen zwischen Meilensteinen müssen unabhängig sein (nicht die gleiche Speicherstelle betreffen),
ansonsten ist das Verhalten undefiniert (d.h., der Compiler darf machen, was er will)
int x = 3; int y = ++x + ++x + ++x;
vgl. Aussagen zu sequence points in http://gcc.gnu.org/readings.html
Gurevich, Huggins: Semantics of C, http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.6755