728x90
여기서의 차이는 ++i가 증감한 뒤 i를 리턴하고 i++가 리턴하고 증감하는 차이를 설명하고자 하는게 아니다.
여기서는 보다 자세하게 실제 내부적으로 어떠하게 구현되어 있는지 알아볼 필요가 있다.
우선 ++i의 내부를 살펴보면
i = i + 1;
return i;
인데 반해 i++은
variouble temp;
temp = temp + 1;
return temp
로써 temp라는 변수를 선언한 후 연산한다. 즉 메모리의 temp라는 값이 남으며 temp를 선언해야 하기 때문에 한번 더 연산을 해야하는 과정이 생겨있다.
즉 iterator를 사용하거나 반복문에서 사용할 경우에는 i++보다는 ++i가 효율적이다.
728x90
'Basic Programming > C, C++' 카테고리의 다른 글
C++ - Effectvice C++의 55가지 테크닉 Part - 2 (0) | 2016.03.03 |
---|---|
C++ - Effectvice C++의 55가지 테크닉 Part - 1 (0) | 2016.03.03 |
C++ - #pragma (0) | 2016.03.03 |
C++ - 멤버 이니셜라이져(Member Initializer) (0) | 2016.03.03 |
C++ - ZeroMemory와 memset의 차이 (0) | 2016.03.03 |