我已经研究了J.1未指定行为下的SO/IEC 9899:201x:
"The order in which subexpressions are evaluated and the order in which side effects
take place, except as specified for the function-call (), &&, ||, ?:, and comma
operators (6.5)."这是否意味着在
func1() + func2();func2()可以在func1()之前执行,甚至可以在func1()期间执行?
发布于 2009-11-17 07:20:14
在当前的标准(ISO/IEC9899:1999)中,函数调用之间有一个序列点,但没有指定操作数对+求值的顺序,因此可以在func2之前或之后调用func1,但函数调用不得重叠或以任何方式交错。
这意味着,如果需要,func1和func2中的每一个都可以与某些共享数据交互,而不会以意外的方式更改其下的数据。
发布于 2009-11-17 07:19:04
不是在其间,但可以肯定的是,要么是1,然后是2,要么是2,然后是1。
https://stackoverflow.com/questions/1745497
复制相似问题