for( int i = 0; i < 10; ++i ) {
printf( "num: %d", i );
}
operator 코드
int int::operator++() {
this = this + 1;
return this;
}
for( int i = 0; i < 10; i++ ) {
printf( "num: %d", i );
}
operator 코드
int int::operator++() {
int returnval = this;
i = i + 1;
return returnval;
}
i++에서 임시 변수를 더 생성하기 때문에 ++i 보다 한줄 더 많습니다.
반면 ++i에서는 자신값에 바로 더해 리턴을 합니다.
그래서 시간 측면에서 ++i가 더 빠르다고 볼 수 있습니다.
옛날 하드웨어 성능 낮고 컴파일러도 최적화 되기 전에는 차이가 났겠지만
요즘 컴파일러도 최적화 되고 하드웨어 성능도 발전해서
차이는 거의 없다고 보셔도 됩니다.
for문에서 ++i와 i++의 차이는 속도입니다.