문제

나는 보았다 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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top