On Fri, 08 Oct 2010 18:49:36 +0400, %u <[email protected]> wrote:
/The following binary expressions are evaluated in an
implementation-defined
order:
AssignExpression/../AddExpression/
/It is an error to depend on order of evaluation when it is not
specified./
That makes this an error!?
y = x + 1;
Am I being paranoid or should I be adding more brackets?
Assignment has higher precedence that addition so your code has no errors.
However, the following one does:
int x = 1;
int y = (x = 2) + x;
because "x" and "x = 2" has same precedence and thus may be evaluated in
any order.
Stay away from such code and you should be fine.