전위 증가와 전위 감소 (Preincrement and Predecrement)¶
후위 의미 체계가 필요하지 않은 경우 증가 및 감소 연산자의 접두사 형식( ++i )을 사용합니다.
변수가 증가( ++i 또는 i++ ) 또는 감소( --i 또는 i-- )되고 표현식의 값이 사용되지 않는 경우 사전 증가(감소) 또는 사후 증가(감소) 여부를 결정해야 합니다.
후위 증가/감소 표현식은 수정되기 전의 값으로 평가됩니다. 이로 인해 코드가 더 간결해지지만 읽기가 더 어려워질 수 있습니다. 접두사 형식은 일반적으로 더 읽기 쉽고, 결코 덜 효율적이지 않으며, 작업 전과 같이 값의 복사본을 만들 필요가 없기 때문에 더 효율적일 수 있습니다.
C에서는 표현식 값이 사용되지 않는 경우에도, 특히 for 루프에서 사후 증분을 사용하는 전통이 발전했습니다.
코드가 후위 증가/감소 표현식의 결과를 명시적으로 필요로 하지 않는 한 접두어 증가/감소를 사용하십시오.
이해하기 쉽게 설명하기¶
핵심: 반환값이 필요 없으면 전위형(++i)¶
값을 증가/감소시키되 그 표현식의 결과를 쓰지 않는다면 전위형(++i, --i)을 쓰세요.
왜?¶
후위형(i++)은 변경 전 값으로 평가되므로, 원래 값의 복사본을 만들어 둬야 합니다. 전위형은 그럴 필요가 없어 더 읽기 쉽고, 결코 더 느리지 않으며, 객체 타입에서는 더 빠를 수 있습니다. C의 for 루프 관습 때문에 i++를 습관적으로 쓰지만, 결과가 필요 없다면 ++i가 맞습니다.