On 21-May-13 09:12,
sts...@126.com wrote:
> C11 6.5.2.2p10 says that Every evaluation in the calling function
> (including other function calls) that is not otherwise specifically
> sequenced before or after the execution of the body of the called
> function is indeterminately sequenced with respect to the execution
> of the called function.
>
> what this means??
Take this example:
a = foo() + bar();
We don't know whether foo() or bar() will be called first, but it is
guaranteed that the first one will finish executing before the second
one starts executing.
> And what is the difference between indeterminately-sequenced and
> unsequenced??
Unsequenced would allow foo() and bar() to execute at the same time.
Indeterminately sequenced means the events are sequenced but we don't
know what that sequence is.
S
--
Stephen Sprunk "God does not play dice." --Albert Einstein
CCIE #3723 "God is an inveterate gambler, and He throws the
K5SSS dice at every possible opportunity." --Stephen Hawking