문제
나는 보았다 So/IEC 9899 : 201x J.1 지정되지 않은 행동에 따라 :
"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