개념 정리
1. 단축 평가 의미 구조 : 왼쪽평가후 오른쪽 평가 하는데, 왼쪽 평가가 거짓이면 오른쪽평가는 하지 않는다.
2. 함수 호출 의미 구조 : 매개변수는 다 평가 해야함 (단축 평가자체를 할수 없음)

두개의 개념을 알고 있어야 한다.

이유
1. && ||를 오버로딩 하면, 단축평가 메카니즘을 사용 할수 없어 효율이 떨어짐
2. , 오버로딩하며느 고유의 기능을 사용 할수 없게 됨

해결 방법
1. 원래 연산자처럼 동작하게 만들 수 없으므로, 오버로딩 하지말라.


개인적인 생각
1. 단축평가 메카니즘과 , 연산의 경우, 프로그래머가 어떻게 손써볼 방법이 없으므로, 고유의 동작 방식을 구현할수 없다고 이해 된다.

2. 단축 평가의 이점
단축 평가는 평가 도중 조건에 만족하지 않는다면 그 뒤의 평가를 전부 처리하지 않고 루틴을 빠저나간다.
이런 전제로 이야기가 된다면
1. 두개의 렉트 충돌을 평가 할때
2. 여러겹의 평가를 해야 할때
평가 시 가장 쉽게 평가처리 할수 있는 부분을 왼쪽에 두어 평가한다면, 효율적인 이점을 볼수 있다는 설명으로 이해가 된다.

3. 단축평가를 날려 버리는, && 와 || 를 오버라이딩 하는 행위! 절대 하지 말아야 겠다.


More Effecive C++ 이해 하는데 좀 시간이 걸리는구나~;





  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기

댓글을 달아 주세요

">
  1. Favicon of http://ikpil.tistory.com 게임 프로그래머라 불릴 최익필
    2008.07.21 16:08

    이거 재미있다, 잘 쓰면, 분명 좋은 과일을 먹을 수 있을 듯 하다.