||C#, for instance, guarantees the order of computation. operator precedence:
Except for the assignment operators, all binary operators are left-associative, meaning that operations are performed from left to right. For example, x + y + z is evaluated as (x + y) + z.
However, I'm not sure if c++ makes the same guarantee.