블로그는 나의 힘!
[ Programing ]/C++2010. 1. 31. 07:17
단순히 보면 바로 더한 값이 반환 되는 것( ++parameter; )과 더한 값이 추후에 반한 되는 차이 ( parameter++; ) 입니다.

void main()
{
     int parameter = 0;

     printf( " ++parameter : %d \n", ++parameter );      // ++parameter : 1
     printf( " parameter++ : %d \n", parameter++ );      // parameter++ : 1
     printf( " parameter : %d \n", parameter );            // parameter : 2     이후 값이 늘어남.
}

하지만 좀 더 깊숙히 생각해 결과 값 뿐만 아니라 반환 값 까지 생각 한다면, 
결정적인 차이는 ++parameter는 int 값 반환이고 parameter++는 const int 값 반환 입니다.

즉, ++++parameter 이렇게 하면 이 녀석은 이상 없이 동작 하지만 ( 0 -> 2), parameter++++ 이렇게 하면 반환하는 것이 const라 다시 상수를 다시 ++할 수 없으니 오류를 뱉어 내죠.

전위처리자는 *this 즉, 자기 자신을 반환하여 속도 면에, 후위 처리자는 const 로 다시 값을 대입하여 반환하여 안정성에 무게가 있으니 참고 하시길 바랍니다.



출저 : Mode Effect C++ 내용 중 ...
Posted by Mister_Q