개념 정리
1. 단축 평가 의미 구조 : 왼쪽평가후 오른쪽 평가 하는데, 왼쪽 평가가 거짓이면 오른쪽평가는 하지 않는다.
2. 함수 호출 의미 구조 : 매개변수는 다 평가 해야함 (단축 평가자체를 할수 없음)
두개의 개념을 알고 있어야 한다.
이유
1. && ||를 오버로딩 하면, 단축평가 메카니즘을 사용 할수 없어 효율이 떨어짐
2. , 오버로딩하며느 고유의 기능을 사용 할수 없게 됨
해결 방법
1. 원래 연산자처럼 동작하게 만들 수 없으므로, 오버로딩 하지말라.
개인적인 생각
1. 단축평가 메카니즘과 , 연산의 경우, 프로그래머가 어떻게 손써볼 방법이 없으므로, 고유의 동작 방식을 구현할수 없다고 이해 된다.
2. 단축 평가의 이점
단축 평가는 평가 도중 조건에 만족하지 않는다면 그 뒤의 평가를 전부 처리하지 않고 루틴을 빠저나간다.
이런 전제로 이야기가 된다면
1. 두개의 렉트 충돌을 평가 할때
2. 여러겹의 평가를 해야 할때
평가 시 가장 쉽게 평가처리 할수 있는 부분을 왼쪽에 두어 평가한다면, 효율적인 이점을 볼수 있다는 설명으로 이해가 된다.
3. 단축평가를 날려 버리는, && 와 || 를 오버라이딩 하는 행위! 절대 하지 말아야 겠다.
More Effecive C++ 이해 하는데 좀 시간이 걸리는구나~;
1. 단축 평가 의미 구조 : 왼쪽평가후 오른쪽 평가 하는데, 왼쪽 평가가 거짓이면 오른쪽평가는 하지 않는다.
2. 함수 호출 의미 구조 : 매개변수는 다 평가 해야함 (단축 평가자체를 할수 없음)
두개의 개념을 알고 있어야 한다.
이유
1. && ||를 오버로딩 하면, 단축평가 메카니즘을 사용 할수 없어 효율이 떨어짐
2. , 오버로딩하며느 고유의 기능을 사용 할수 없게 됨
해결 방법
1. 원래 연산자처럼 동작하게 만들 수 없으므로, 오버로딩 하지말라.
개인적인 생각
1. 단축평가 메카니즘과 , 연산의 경우, 프로그래머가 어떻게 손써볼 방법이 없으므로, 고유의 동작 방식을 구현할수 없다고 이해 된다.
2. 단축 평가의 이점
단축 평가는 평가 도중 조건에 만족하지 않는다면 그 뒤의 평가를 전부 처리하지 않고 루틴을 빠저나간다.
이런 전제로 이야기가 된다면
1. 두개의 렉트 충돌을 평가 할때
2. 여러겹의 평가를 해야 할때
평가 시 가장 쉽게 평가처리 할수 있는 부분을 왼쪽에 두어 평가한다면, 효율적인 이점을 볼수 있다는 설명으로 이해가 된다.
3. 단축평가를 날려 버리는, && 와 || 를 오버라이딩 하는 행위! 절대 하지 말아야 겠다.
More Effecive C++ 이해 하는데 좀 시간이 걸리는구나~;
'책 정리 > More Effective C++ 1판' 카테고리의 다른 글
항목 11 : 소멸자에서는 예외가 탈출하지 못하게 하자. (0) | 2008.05.16 |
---|---|
항목 10 : 생성자에서는 리소스 누수가 일어나지 않게 하자. (0) | 2008.05.16 |
항목 9 : 리소스 누수를 피하는 방법의 정공은 소멸자이다. (0) | 2008.05.16 |
궁극의 예외처리 (0) | 2008.05.16 |
항목 8 : new 와 delete의 의미를 정확히 구분하고 이해하자 (0) | 2008.05.15 |
항목 6 : 증가 및 감소 연산자의 전위/후위 형태를 반드시 구분하자 (0) | 2008.05.15 |
항목 5 : 사용자 정의 타입변환 함수에 대한 주의를 놓지 말자. (0) | 2008.05.15 |
항목 4 : 쓸데 없는 기본 생성자는 그냥 두지 말자. (0) | 2008.05.15 |
항목 3 : 배열과 다형성은 같은 수준으로 놓고 볼 것이 아니다. (0) | 2008.05.14 |
항목 2 : 가능한 C++ 스타일의 캐스트를 즐겨 쓰자 (0) | 2008.05.14 |
최근댓글