Quote Originally Posted by BEN10 View Post
You mean everything incuding the ++ operator in expressions is undefined. For eg
Code:
i=2;
j=i++;
will this also be undefined?
No. j will be 2 and i will be 3. But:
Code:
i = 2;
i = i++;
is problematic. The compiler is allowed to add 1 to i at any time between accessing the value of the variable to use in the expression and starting the next "line" of code. So it must first access the value of i (which is 2); it must then, in some order, assign 2 to i, and add one to i. If it does it in that order, i ends up as 3. If it does it in the opposite order, i ends up as 2.