...
These two requirements can be counter-intuitive when expressions contain side effects. Evaluation of the operands proceeds left-to-right, without regard to operator precedence rules and indicative parentheses; evaluation of the operators, however, obeys precedence rules and parentheses.
Expressions are forbidden to must not write to memory that they subsequently read, and are also forbidden to must not write to any memory twice. Note that memory writing and reading can occur either directly in the expression from assignments or indirectly through side effects in functions called in the expression.
...
EXP30-C. Do not depend on order of evaluation between sequence points | ||||
EXP30-CPP. Do not depend on order of evaluation between sequence points | ||||
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="25b3235a081a3d86-0586c79f-444a40cf-9594b12e-ad2ad67edb35f17f327e25a4"><ac:plain-text-body><![CDATA[ | [ISO/IEC TR 24772:2010 | http://www.aitcnet.org/isai/] | "Side?effects and Order of Evaluation [SAM]" | ]]></ac:plain-text-body></ac:structured-macro> |
...
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="2224023ff32175d1-a1ac3a5c-43f14c07-83a69764-42c6324e5d7efa0d556f48b3"><ac:plain-text-body><![CDATA[ | [[JLS 2005 | AA. Bibliography#JLS 05]] | [§15.7, "Evaluation Order" | http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.7] | ]]></ac:plain-text-body></ac:structured-macro> |
|
...