문제를 푸는 도중 다른 사람의 코드를 보고 밑에 것처럼 되어있길래 위에 것으로 고쳤더니 틀리게 나오더군요
위에 코드와 아래 코드의 차이점은 무엇인가요?
혹시나 (--it)에서 --가 영향을 주나 싶어서
int depth = max(a = it->second, b = (--it)->second);
이렇게 한 뒤 a,b를 출력해봤는데 당연히 다르게 나오더라구요..
으으 제가 어떤 오개념을 가지고 있는 지 궁금합니다.
C++언어에서 함수 인자의 평가 순서는 정해지지 않았습니다.
foo(a, b) 라는 함수가 있을 때 어떤 컴파일러는 b를 먼저 실행하고 그 뒤에 a를 실행할 수도 있고, 다른 컴파일러는 a를 먼저 실행한 후에 b를 실행할 수 있습니다.
댓글을 작성하려면 로그인해야 합니다.
goodinet 6년 전
문제를 푸는 도중 다른 사람의 코드를 보고 밑에 것처럼 되어있길래 위에 것으로 고쳤더니 틀리게 나오더군요
위에 코드와 아래 코드의 차이점은 무엇인가요?
혹시나 (--it)에서 --가 영향을 주나 싶어서
int depth = max(a = it->second, b = (--it)->second);
이렇게 한 뒤 a,b를 출력해봤는데 당연히 다르게 나오더라구요..
으으 제가 어떤 오개념을 가지고 있는 지 궁금합니다.