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

+ Recent posts