Menu
Coddy logo textTech

후위 증감 연산자

Coddy C++ 여정의 기초 섹션에 포함된 레슨 — 74개 중 19번째.

이전 레슨에서 우리는 증가(++) 및 감소(--) 연산자를 다루었습니다. 이 연산자들은 전위(prefix)후위(postfix)라는 두 가지 형태를 가집니다.

전위 형태는 변수 앞에 작성되며 (예: ++x 또는 --x), 후위 형태는 변수 뒤에 작성됩니다 (예: x++ 또는 x--).

실무에서는 어떤 형식을 사용할지 아는 것이 중요합니다. 예를 들어, 게임에서 매번 명중할 때마다 score++를 사용하여 플레이어의 점수를 추적하거나, 게임이 종료되었는지 확인하기 전에 잃은 생명을 즉시 반영하기 위해 --lives를 사용할 수 있습니다. 루프에서 전위(prefix)와 후위(postfix) 중 무엇을 선택하느냐에 따라 업데이트 전후의 표현식에서 어떤 값이 사용되는지가 달라질 수 있습니다.

두 형식의 차이점은 미묘하지만 중요합니다:

  • 전위(Prefix) 형식: 변수를 증가/감소시킨 후 새로운 값을 반환합니다.
  • 후위(Postfix) 형식: 변수의 현재 값을 반환한 후 증가/감소시킵니다.

차이점을 설명하기 위한 예제입니다:

int x = 5;
int y = x++;
// y = 5, x = 6 (후위 연산: y는 원래 값을 가져오고, 그 다음 x가 증가함)

int a = 5;
int b = ++a;
// b = 6, a = 6 (전위 연산: a가 먼저 증가하고, 그 다음 b가 새로운 값을 가져옴)

첫 번째 경우, y에는 x의 원래 값(5)이 할당되고, 그런 다음 x가 6으로 증가합니다. 두 번째 경우, a가 먼저 증가하고, 그런 다음 새로운 값(6)이 b에 할당됩니다.

동일한 논리가 감소 연산자에도 적용됩니다:

int x = 5;
int y = x--;
// y = 5, x = 4 (후위: y는 원래 값을 가져오고, 그 다음 x가 감소함)

int a = 5;
int b = --a;
// b = 4, a = 4 (전위: a가 먼저 감소하고, 그 다음 b가 새로운 값을 가져옴)
challenge icon

챌린지

초급

x, y, z의 초기화가 포함된 코드가 제공됩니다. (이 줄들을 삭제하지 마세요!)

여러분의 작업은 증감 연산자를 사용하여 다음 순서대로 작업을 수행하는 것입니다:

  1. 후위 증가 연산자를 사용하여 x의 현재 값을 a에 할당한 다음 x를 증가시킵니다.
  2. 전위 감소 연산자를 사용하여 y를 감소시키고 그 새로운 값을 b에 할당합니다.
  3. 후위 감소 연산자를 사용하여 z의 현재 값을 c에 할당한 다음 z를 감소시킵니다.

이러한 작업을 수행한 후, a, b, c, x, y, z의 값을 다음 형식으로 콘솔에 출력하세요:

a: [value of a]
b: [value of b]
c: [value of c]
x: [value of x]
y: [value of y]
z: [value of z]

직접 해보기

#include <iostream>

int main() {
    int x = 10;
    int y = 20;
    int z = 30;
    
    int a, b, c;
    
    // 아래에 코드를 입력하세요
    
    
    // 아래 줄들을 변경하지 마세요
    std::cout << "a: " << a << std::endl;
    std::cout << "b: " << b << std::endl;
    std::cout << "c: " << c << std::endl;
    std::cout << "x: " << x << std::endl;
    std::cout << "y: " << y << std::endl;
    std::cout << "z: " << z << std::endl;
    
    return 0;
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨