C++/Study

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

MoongStory 2024. 12. 13. 20:59
반응형

전위형 연산자는 변수의 값이 사용되기 전에 먼저 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으로 초기화가 되어 있을 것이라는걸 알 수 있다.

반응형

'C++ > Study' 카테고리의 다른 글

[C++] 클래스 템플릿 기반의 객체 생성  (0) 2024.12.13
[C++] C++의 형변환 연산자  (0) 2024.12.13
[C++] 함수 오버로딩  (0) 2024.12.13
[C++] namespace  (0) 2024.12.13
[C++] 컨테이너의 요소를 출력하는 Helper 함수  (0) 2024.12.13