goodinet   6년 전

스크린샷 2017-01-05 오전 3.14.49.png

문제를 푸는 도중 다른 사람의 코드를 보고 밑에 것처럼 되어있길래 위에 것으로 고쳤더니 틀리게 나오더군요

위에 코드와 아래 코드의 차이점은 무엇인가요?

혹시나 (--it)에서 --가 영향을 주나 싶어서 

int depth = max(a = it->second, b = (--it)->second);

이렇게 한 뒤 a,b를 출력해봤는데 당연히 다르게 나오더라구요..

으으 제가 어떤 오개념을 가지고 있는 지 궁금합니다.

bupjae   6년 전

C++언어에서 함수 인자의 평가 순서는 정해지지 않았습니다.

foo(a, b) 라는 함수가 있을 때 어떤 컴파일러는 b를 먼저 실행하고 그 뒤에 a를 실행할 수도 있고, 다른 컴파일러는 a를 먼저 실행한 후에 b를 실행할 수 있습니다.

댓글을 작성하려면 로그인해야 합니다.