[C++] 증감연산자(전위형 후위형)

전위형 연산자는 변수의 값이 사용되기 전에 먼저 1이 증가한 후 사용이 되고
후위형 연산자는 변수의 값이 사용되고 나서 그 다음에 1이 증가한다.

이는, ++x는
x += 1;
x;
로 치환되고 (x의 값을 먼저 증가시킨 후 x를 사용함)

x++는
x;
x += 1;
로 치환된다고 생각하면 보다 쉽게 이해할 수 있다. (x를 먼저 사용하고 그 다음에 x의 값을 증가시킴)

예를 들어 x는 4로 초기화되어 있고
cout << ++x;
cout << ++x;
가 있다고 한다면

위에 설명한 방법대로 치환하면
x += 1;
cout << x;
x += 1;
cout << x;
이 되고 4에서 1이 증가한 출력을 하므로 먼저 5가 출력되고 다시 1을 더한 후에 출력 하니 6이 출력되어

결과적으로 5와 6이 출력됨을 알 수 있다.



다음으로 후위연산자를 보면

마찬가지로 x는 4로 초기화되어 있다고 가정하고
cout << x++;
cout << x++;
위와 같은 코드가 있다고 한다면

위의 설명대로 치환하면
cout << x;
x += 1;
cout << x;
x += 1;
이 되고, 이를 보면 먼저 4가 출력된 후에 1이 증가하여 5가 되고 다시 이를 출력하고 그 다음에 다시 1을 더 증가시킨다.

그래서 최종적으로는 4와 5가 출력되고 마지막에 x에는 6으로 초기화가 되어 있을 것이라는걸 알 수 있다.

댓글

이 블로그의 인기 게시물

[NSIS] 32비트와 64비트 모듈 등록하는 법. (regsvr32)

[Visual Studio] Windows 7 에서 Visual Studio 6.0 디버그 시 프로세스 좀비되는 증상 해결 방법