c++ 증감연산자
num++
++num
의 차이.
int num = 10
printf_s("num : %d\n", num)
printf_s("num : %d\n", ++num)
printf_s("num : %d\n", num++)
printf_s("num : %d\n", num)
가있을때 실행결과는
num : 10
num : 11
num : 11
num : 12
이다.
++num은 실행 전 1을더한다
num++은 실행 후 1을 더한다.
printf_s("num : %d\n", num++)
이부분 에서 num은 위에 ++num의 결과로 11이된 상태다.
이때 num++은 printf 구문에서 11을 출력한 다음 ++이되어 12가 된다
그래서 아래 printf_s("num : %d\n", num) 부분에서 num이 12로 출력이된다.
이 전위 후위 증감 연산자를 코드로 구현해보았다.
int transposition(int* _num)
{
int* transnum = _num;
*transnum += 1;
return *transnum;
}
int postposition(int * _num)
{
int* transnum = _num;
int save = (*transnum);
*transnum += 1;
return save;
}
int main()
{
int num = 10;
printf_s("num : %d\n", num);
printf_s("++num : %d\n", transposition(&num));
printf_s("num++ : %d\n", postposition(&num));
printf_s("num : %d\n", num);
}
'게임 프로그래밍 > C++ 기초' 카테고리의 다른 글
C++ Map [STL] (0) | 2019.02.23 |
---|---|
C++ 캐스트(static_cast / const_cast / dynamic_cast / reinterpret_cast) (0) | 2019.01.31 |
C++ memcpy_s 함수 구현 (0) | 2019.01.25 |
C++ memset 함수 구현 (0) | 2019.01.25 |
C++ 포인터 (0) | 2019.01.25 |