반응형
전위형 연산자는 변수의 값이 사용되기 전에 먼저 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 |