Why is C++ preincrement addition uniquely different from javascript, C#, etc.? (Sequence points?)

Solution 1:

Because (1) you never need to write cumbersome expressions like i = ++i + ++i and (2) C and C++ are all about not giving away performance, the behaviour is undefined.

(Although C++17 does define some more of these class of expressions).

On (2), different architectures may be able to optimise increments differently. That would be given away - with no real advantage gained - if the behaviour of expressions such as yours were defined.