Programming - 전위 연산자 & 후위 연산자
후위(Postfix) 연산자의 내부 동작
i++의 경우
int temp = i; // i를 임시 변수에 저장
i += 1; // i에 1을 더하고
return temp; // 더하기 전의 값인 임시 변수를 리턴
전위(Prefix) 연산자의 내부 동작
++i의 경우
i += 1; // i에 1을 먼저 더하고
return i; // 1이 더해진 i를 리턴
Postfix와 Prefix의 성능 차이
Postfix의 경우 임시 변수를 사용하기 때문에 추가적인 메모리를 사용하게 되는데, Prefix는 임시 변수 사용 없이 원본의 값을 변경시키고 리턴하기 때문에 더 효율적이다.
컴파일러는 이러한 차이를 최소화하기 위해 자체적으로 최적화를 수행한다.
for(int i = 0; i < n; i++)
{
// 반복문 내용
}
예를 들어, 위 코드의 경우 컴파일러가 i++을 ++i 으로 자동으로 최적화해 준다.
댓글남기기