c++ 시간에 operator++ 전위 후위 버전을 보니까
후위 버전이 쪼끔 더 코드가 길더라구요
솔직히 성능 차이는 거의 안 날 것 같긴 한데
그래도 만약에 전위 ++가 약간이라도 더 연산이 간단한게 맞다면
a++; 이런식으로 딸랑 한 줄일 때나 for문에서 i++ 같은 경우에
++a; 이렇게 후위가 아닌 전위로 적어주는 습관을 들이는게 좋을까요?
c++ 시간에 operator++ 전위 후위 버전을 보니까
후위 버전이 쪼끔 더 코드가 길더라구요
솔직히 성능 차이는 거의 안 날 것 같긴 한데
그래도 만약에 전위 ++가 약간이라도 더 연산이 간단한게 맞다면
a++; 이런식으로 딸랑 한 줄일 때나 for문에서 i++ 같은 경우에
++a; 이렇게 후위가 아닌 전위로 적어주는 습관을 들이는게 좋을까요?
기본 타입은 거의 상관없는데 클래스 후위증가는 임시객체 생성해서 성능차이 좀 날수도 있음
아니 1초당 수백만번 반복하는 동작을 매초 반복하지 않는이상 그걸로 성능차이 안남. 상관없음
감사합니다
iter++, ++iter는 좀 차이날 수 있을지도?
++iter 는 기초 중의 기초고 일관성 고려해서 ++i 도 하셈
아주 조금의 향상이라도 굳이 안할 이유는 없지않나? 레거시 통일 이런게 아니라면
C++에서는 성능을 떠나서 그냥 컨벤션 비슷한 느낌이던데
for문에 i++같은건 웬만한 컴파일러가 알아서 최적화해줌
어셈블리 레벨에서 코드 한 줄 차이긴 한데 솔직히 전위로 쓰던 걸 후위로 써서 문제 생기는 경우는 한번도 못 봄. 윗 게이 말대로 요즘은 그냥 컨벤션에 가까움
컴파일러가 너무 멍청하거나, 아니면 너무 똑똑하거나 둘 중에 하나라면 정말 제한적이고 특수한 상황에서는 증감 연산자의 전위 및 후위 여부가 성능에 아주 작은 영향을 끼칠 수는 있다고 나는 생각하는데 지금까지 그런 사례를 본 적이 없어.
그렇군여 다들 감사합니다.