선행과 후행은 중요한 성능차이를 나타낼수도 있습니다.
STL의 경우 iterator를 선행으로 증가하는것과 후행으로 증가하는것은 내부적 성능차이가 있습니다.
이는 STL의 구현 특성이기에 선행증가를 대부분의 전문서적에서 추천합니다.
그 외의 일반적 사항에서는 해당 로직에따라 구현해주면 됩니다.
(선행은 먼저 증가후 대입된다./후행은 대입후 증가한다.. 등등의 기본 특성을 활용하는것입니다.)
int같은 기본 자료단위에서는 성능상의 차이는 없다고 볼 수 있습니다.
경선->건강 님이 쓰신 글 :
: 남병철.레조 님이 쓰신 글 :
: : 연산자 오버로드(겹지정)는 실제로 일어나는 일을 위장합니다.
: : 겹지정의 + 연산자는 사실 왼쪽의 객체에서 호출되고 오른쪽의 객체를 인수로 취하는
: : 구성원 함수일 뿐입니다.
:
:
:
: 위장 한다는 말은 다음과 같은 문장이 있을 때,
:
: int i, j;
: i, j = 5;
: i = j++;
: cout << i << ' ' << j;
: -> 여기서 i는 5이고, j는 6인데 연산자 오버로드로 연산하면 선행이나 후행이나 같다는 말씀이군요.
:
: 응용 프로그램을 만들 때 프로그래밍 작업에서 선행과 후행은 별로 중요하지 않나요?
|