Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 접두사와 후위 연산자의 차이점은 무엇입니까?


접두어 버전(즉, ++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의 값입니다.
  • 이 값 인쇄