접두어 버전(즉, ++i)에서 i의 값은 증가하고 표현식의 값은 i의 새 값입니다. 따라서 기본적으로 먼저 증분한 다음 표현식에 값을 할당합니다.
접미사 버전(i.e., i++)에서는 i의 값이 증가하지만 표현식의 {value|worth}는 i의 원래 값입니다. 따라서 기본적으로 먼저 표현식에 값을 할당한 다음 변수를 증가시킵니다.
더 나은 이해를 위해 몇 가지 코드를 살펴보겠습니다. −
예시
#include<iostream> using namespace std; int main() { int x = 3, y, z; y = x++; z = ++x; cout << x << ", " << y << ", " << z; return 0; }
출력
이것은 우리에게 다음과 같은 결과를 줄 것입니다 -
5, 3, 5
왜 그런가요? 자세히 살펴보겠습니다 -
- x를 3으로 초기화
- x++ 표현식을 평가하여 얻은 값을 y에 할당합니다. 즉, x가 증가하기 전에 x가 증가하고 x가 증가합니다.
- x를 증가시킨 다음 ++x 표현식을 평가하여 얻은 값을 z에 할당합니다. 즉, 증가 후 x의 값입니다.
- 이 값 인쇄