i++, ++i ??
++이 앞에 있으면 전위증가, ++이 뒤에 있으면 후위증가..
차이는 무엇이냐???
별 생각없이 사용할 수 도 있지만 그 차이는 확실 하므로 잘 정리해서 기억하고 있어야 한다.
* 전위 증감 연산자는 실행문에서 값이 먼저 증가/감소 해서 적용된다.
* 후위 증감 연산자는 실행문에 값이 후에 증가/감소해서 적용된다.
즉 위 말이 무엇이냐???
말로해서는 이해가 안될수 있으므로 개발자 답게 코드로 풀어서 보면 다음과 같다.
* 후위 증감 연산자 : i++
int i =0;
int a = i++;
-> a= 0, i =1;
즉 위에 int a = i++;을 플아 코드로 보자면
const int temp_val = i;
i = i +1;
return temp_val;
a값에는 temp_val이 들어가고 i값은 i+1이 된다.
즉 후위 증감 연산자는 증가되기전의 값을 넘겨준후 자기 자신을 증가시킨다고 보면 되겠다.
* 전위 증감 연산자: ++i
이것은 바로 증가~~
i = i +1;
return i;
요렇게 자기 자신을 증가후 넘겨준다.
간단한 예를 보자면
int a = 10, b =10, c= 0;
c = (a++) + (b++);
a= 11, b= 11, c = 20;
(a값은 증가해야 하고, b값도 증가해야 하고 c는 증가된 값을 계산하는게 아니기 때문에 10 + 10 이 된다.)
int a = 10, b =10, c= 0;
c = (++a) + (++b);
a = 11, b = 11, c = 22
a와 b의 값이 증가된후 연산되는것이므로 11 + 11 이 된당
자 이해가 되는감??
정보는 공유되어야 한다 쭈욱~~
'Study > C++' 카테고리의 다른 글
C DLL을 비쥬얼베이직에서 사용하기 (0) | 2015.10.15 |
---|---|
폴더내 파일 및 폴더 검색 (0) | 2014.12.02 |
헤더파일에 전역변수 선언관련 (0) | 2014.06.18 |
error LNK2001: unresolved external symbol "public: static class ... (0) | 2012.03.26 |
헝가리안 표기법 (0) | 2012.01.03 |
댓글