Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added normative text.

...

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 should never are forbidden to write to memory that they subsequently read, and they should never are also forbidden to write to any memory twice. Memory 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.

...

CERT C Secure Coding Standard

EXP30-C. Do not depend on order of evaluation between sequence points

CERT C++ Secure Coding Standard

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="f4f4fa26c725952e-735c333d-431a46b7-820abc92-a07ea78cb613daa6788f8136"><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="b33056cc601a9cde-3ab08490-404847d9-9a2c93a1-9d3519d2408345d4ae8d598f"><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>

 

§15.7.3, "Evaluation Respects Parentheses and Precedence"

...