본문 바로가기
C++

6. 증감 연산자

by arirang_ 2023. 1. 6.

증감 연산자(increment and decrement operator)

- 피연산자가 1개뿐이다.(단항 연산자)

- 피연산자를 1씩 증가 혹은 감소시킨다.

 

● ++

● --

 

한단계 증가/감소한다 라는 의미로 기억해두는 것이 좋다!

"한단계"라는 의미가 모두에게 같은 의미가 아니기 때문이다. 

정수나 실수(기본 숫자 타입) 에서는 1씩 증가 혹은 감소를 의미하겠지만,

포인터에서는 그런 의미가 아니기 때문이다.

 

int data = 0;
++data;           //전위(전치)
data++;           //후위(후치)

++data는 전위 증가 연산자로 연산을 진행한 것이고, data++은 후위 증가 연산자로 연산을 진행한 것이다.

 

● 후위 연산자 : 모든 연산자의 순서를 통틀어서 가장 나중에 수행된다. (대입 연산자 보다도 늦는다)

int a = 10;
data = a++;

후위 연산자는 대입 연산자보다도 늦게 실행되기 때문에 "넣고 증가한다"

따라서 data는 10을 결과값으로 갖는다.

 

● 전위 연산자 : 대입 연산자보다 먼저 실행된다.

int = 10;
data = ++a;

전위 연산자는 대입 연산자보다 먼저 실행되기 때문에 "증가하고 넣는다"

따라서 data는 11을 결과값으로 갖는다.

 

※ 다른 연산자와 섞여있을 때 증감 연산자가 앞에 있는지, 뒤에 있는지에 따라 다른 값이 나올 수 있다! 

※ 반대로, 다른 연산자와 섞여 있지 않아 전위, 후위를 딱히 따지지 않아도 되는 상황에서는 "전위 연산자"를 쓰는 것이 더 좋다. 후위 연산자를 사용하면 효율이 좋지 않은 함수를 호출할 가능성이 있기 때문이다. 

'C++' 카테고리의 다른 글

[C++] 조건문  (0) 2023.01.06
7. 논리 연산자  (0) 2023.01.06
5. 산술 연산자  (1) 2023.01.04
4. 실수형 자료형  (0) 2023.01.04
3. 정수형 자료형  (2) 2023.01.04