题
我看 SO / IEC 9899 :下J.1未指定的行为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的()?
解决方案
在当前的标准(ISO / IEC 9899:1999)有函数调用,但操作数+
的评估顺序之间的顺序点没有被指定,以便func1
可能之前或之后func2
但函数调用必须在调用不重叠或以任何方式进行交织。
这意味着,每个func1
和func2
的,如果需要,具有某些共享数据进行交互,而无需以意想不到的方式下它的数据的变化。
其他提示
不是期间,但是肯定的是,无论是1,则2或2然后1。
不隶属于 StackOverflow