항목 7 : &&, ||, 혹은 , 연산자는 오버로딩 대상이 절대로 아니다
개념 정리 1. 단축 평가 의미 구조 : 왼쪽평가후 오른쪽 평가 하는데, 왼쪽 평가가 거짓이면 오른쪽평가는 하지 않는다. 2. 함수 호출 의미 구조 : 매개변수는 다 평가 해야함 (단축 평가자체를 할수 없음) 두개의 개념을 알고 있어야 한다. 이유 1. && ||를 오버로딩 하면, 단축평가 메카니즘을 사용 할수 없어 효율이 떨어짐 2. , 오버로딩하며느 고유의 기능을 사용 할수 없게 됨 해결 방법 1. 원래 연산자처럼 동작하게 만들 수 없으므로, 오버로딩 하지말라. 개인적인 생각 1. 단축평가 메카니즘과 , 연산의 경우, 프로그래머가 어떻게 손써볼 방법이 없으므로, 고유의 동작 방식을 구현할수 없다고 이해 된다. 2. 단축 평가의 이점 단축 평가는 평가 도중 조건에 만족하지 않는다면 그 뒤의 평가를 전부..
책 정리/More Effective C++ 1판
2008. 5. 15. 20:42
최근댓글