728x90

여기서의 차이는 ++i가 증감한 뒤 i를 리턴하고 i++가 리턴하고 증감하는 차이를 설명하고자 하는게 아니다. 

여기서는 보다 자세하게 실제 내부적으로 어떠하게 구현되어 있는지 알아볼 필요가 있다.

우선  ++i의 내부를 살펴보면

 

i = i + 1;

return i;

 

인데 반해 i++은

 

variouble temp;

temp = temp + 1;

return temp

 

로써 temp라는 변수를 선언한 후 연산한다. 즉 메모리의 temp라는 값이 남으며 temp를 선언해야 하기 때문에 한번 더 연산을 해야하는 과정이 생겨있다.

즉 iterator를 사용하거나 반복문에서 사용할 경우에는 i++보다는 ++i가 효율적이다.

 

출처 :  http://blog.naver.com/sorkelf/40146367692

728x90

+ Recent posts