<aside> 💡 앞에 붙이냐 뒤에 붙이냐에따라 다름 (아는내용이라 패스)

</aside>

<aside> 💡 왜 증감연산자는 하드웨어와 연관이 있을까?


CPU 상에서 지원하는 하드웨어 명령어 에서 이런 명령어도 있어요.

딱 숫자 하나만 증가시키는 명령어 .

그리고 이 숫자 하나만 증가시키는 명령어는 숫자 2를 더하는 명령어 보다 빨라요.

하드웨어 자체에 1:1로 매핑 되어있는 명령어기 때문에 꾸준히 쓰고있음

</aside>

<aside> 💡 부동 소수점 3.14를 증감하면 무슨일이 벌어질까?


전위연산, 후위연산을 밑바닥 코드까지 뜯어보자!

[C++ 수식 종류] - 전위,후위 연산

증감 연산자 (전위,후위 연산)

밑바닥 코드를 보자
a = 5 일 경우

++a
a++

의 경우를 봅시다.
과연 '++' 함수는 어떻게 구현되어있을까요??

1. ++a 의 경우

int operator++(){
	this->value+=1;
	return this->value;
};

2. a++ 의 경우

int operator++(<u>***int***</u>){
	**int temp=this->value; //일단 this 값을 temp에 백업해둠**
	this->value+=1;
	return **temp; //temp를 반환함**
}

→ 디스어셈블링 - 증감 연산자 ++

<aside> 💡 결국 원본값을 어딘가에 넣어놨다가

넣어둔 값을 증가시키고

다시 원래 있던 값을 옮긴다는 의미!


증감 연산자 (전위,후위 연산) → 다음 내용 참고


		sum ++;
00007FF6632F255D  mov         eax,dword ptr [sum]  
00007FF6632F2560  inc         eax  
00007FF6632F2562  mov         dword ptr [sum],eax 
int32 eax = sum;
eax = eax + 1;
sum = eax;

</aside>