It is undefined in C++ to assign an incremented value to itself:
i = i++
What should i be after this? Should it be the previous value or one plus the previous value? The order of execution is left to the compiler, so different platforms will have different results.