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

C++에서 i++와 ++i 사이에 성능 차이가 있습니까?

<시간/>

++의 접미사와 접두사 버전 사이에는 큰 차이가 있습니다.

  • 접두사 버전(즉, ++i)에서 i의 값은 증가하고 표현식의 값은 i의 새 값입니다. 따라서 기본적으로 먼저 증분한 다음 표현식에 값을 할당합니다.

  • 후위 버전(i.e., i++)에서는 i의 값이 증가하지만 표현식의 값은 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의 값입니다.

  • 이 값을 인쇄하십시오.