TITLE: What is a sequence point? RESPONSE: jimad@microsoft.com (Jim Adcock) Section 3.3 defines multiple accesses to one variable for modification within an expression [between two sequence points] as being an unconstrained error. RESPONSE: mayoff@sylvester.cc.utexas.edu (rob) Please define `sequence point'. RESPONSE: jimad@microsoft.com (Jim Adcock), Microsoft Corporation, 12 Jul 93 The ANSI/ISO C++ standardization effort is being based on two documents, both highly recommended. One is the ARM, the other is X3.159-1989, the ANSI C standards document [or equivalently it's ISO counterpart] From the ANSI-C doc, 2.1.2.3.33 "At certain specified points in the execution sequence called 'sequence points', all side effects of previous evaluations shall be complete and no side effects of subsequent evaluations shall have take place. Appendix B lists the following as sequence points, quote: * The call to a function, after the arguments have been evaluated. * The end of the first operand of the following operators: logical AND &&; logical OR ||; conditional ? ; comma , . * The end of a full expression: an initializer; the expression in an expression statement; the controlling expression of a selection statement (if or switch); the controlling expression of a while or do statement; each of the three expressions of a for statement; the expression in a return statement. unquote.