CPP_어소_6_증감 연산자

CJB_ny·2022년 4월 23일
0

CPP_AROTHO

목록 보기
4/83
post-thumbnail

연산자는 "전위"로 써라 => 연산자 오버로딩에 연관

왜??

++a

a++


이게 당연하게

data = 0
data--;
data--;

-1
-2

나오는데

"포인터" 들어가게되면

++증가시키고

--감소시키고의 개념이 아니다.

그래서 그냥

"다음 단계로 증가한다"라고 생각하면 더 편할 것이다.

++ || -- 이 수행되는 피 연산자가 누구냐에 따라서

이 "한 단계"라는 개념이 달라질 수 있다.

누구한테는 "한 단계"기 10증가하는건데? 20증가하는건데? 이럴 수가 있다.


앞에 붙었냐 뒤에 붙었냐에 따라서 연산자 우선순위가 바뀐다.

data++;

는 모든 연산자를 통틀어서 가장 나중에 수행이 된다.

대입 연산자보다도 늦다.

ex)

data = 0, a = 10 이라할때
data = a++;

하면 data는 11이 되어야 하지 않을까?

10이다.

이렇게 된다.

data = ++a;

이면 대입연산자보다 먼저 수행되어서

data값은 11이다.

이렇게됨.


중요!

그리고 연산자는 특별한 이유가 없는한 "전위"로 써라

나중에 "연산자 오버로딩"을 할 때, 성능 차이 문제 생김.

profile
https://cjbworld.tistory.com/ <- 이사중

0개의 댓글