Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ 접미사 연산자(Postfix Operator)란? 개념부터 예제까지 총정리

C++의 접미사 연산자(Postfix Operator)는 하나의 변수에 적용되는 단항 연산자(unary operator)로, 해당 변수의 값을 1씩 증가시키거나 감소시키는 역할을 합니다. 물론 사용자가 연산자 오버로딩으로 동작을 재정의하지 않은 경우에 한정됩니다.

C++에는 두 가지 접미사 연산자가 있습니다.

  • ++ : 값을 1 증가시키는 증가 연산자
  • -- : 값을 1 감소시키는 감소 연산자

접미사 표기법의 동작 방식

접미사 표기법(예: i++)에서는 변수 i의 값 자체는 증가하지만, 표현식(expression)의 결과값은 증가하기 전의 원래 값이라는 점이 핵심입니다.

즉, 접미사 연산자는 다음 순서로 동작합니다.

  1. 먼저 변수의 현재 값을 표현식에 반환(할당)한다.
  2. 그다음에 변수의 값을 1 증가(또는 감소)시킨다.

예제 코드

#include<iostream>
using namespace std;

int main() {
    int j = 0, i = 10;

    // j = i++ 를 실행하면 j는 i의 현재 값(10)을 받고,
    // 그 후에 i의 값이 1 증가하여 11이 됩니다.
    j = i++;
    cout << j << ", " << i << "\n";
    return 0;
}

실행 결과

위 코드를 실행하면 다음과 같은 출력을 얻습니다.

10, 11

접두사 연산자와의 차이점

접미사 연산자(i++)와 반대로, 접두사 연산자(++i)는 먼저 값을 증가시킨 후 그 결과값을 표현식에 반환합니다. 따라서 위 예제에서 j = ++i;라고 작성했다면 출력 결과는 11, 11이 됩니다.

이처럼 단독으로 사용할 때는 두 연산자의 차이가 없지만, 대입문이나 조건문 등 다른 표현식 안에서 사용할 때는 결과가 달라지므로 주의해서 사용해야 합니다.