5, 6년 넘게 코드 친다고 쳤는데 이걸 지금 알았네요. 흑흑
int x = 2; std::cout << x++ + x << std::endl;
두 번째 줄 찍혀 나올 걸 보면 cpp에서는 4이고 c#에서는 5가 나옵니다.
cpp는 생각한 대로 나와서 넘어갔는데 c#에서 5가 나와서 한동안 나는 뭘 잘못 공부했나 했네요 ;ㅁ;
c#에서는 전후위 연산자 동작에 대해 정확히 명시되어 있지만, cpp에서는 ‘정의되지 않은 동작’이어서 그렇다고 합니다.
참조
http://stackoverflow.com/questions/17165292/prefix-operator-difference-in-c-and-c-sharp
http://stackoverflow.com/questions/6457130/pre-post-increment-operator-behavior-in-c-c-java-c-sharp