개념 정리 1. 단축 평가 의미 구조 : 왼쪽평가후 오른쪽 평가 하는데, 왼쪽 평가가 거짓이면 오른쪽평가는 하지 않는다. 2. 함수 호출 의미 구조 : 매개변수는 다 평가 해야함 (단축 평가자체를 할수 없음) 두개의 개념을 알고 있어야 한다. 이유 1. && ||를 오버로딩 하면, 단축평가 메카니즘을 사용 할수 없어 효율이 떨어짐 2. , 오버로딩하며느 고유의 기능을 사용 할수 없게 됨 해결 방법 1. 원래 연산자처럼 동작하게 만들 수 없으므로, 오버로딩 하지말라. 개인적인 생각 1. 단축평가 메카니즘과 , 연산의 경우, 프로그래머가 어떻게 손써볼 방법이 없으므로, 고유의 동작 방식을 구현할수 없다고 이해 된다. 2. 단축 평가의 이점 단축 평가는 평가 도중 조건에 만족하지 않는다면 그 뒤의 평가를 전부..
오버로딩 검색 결과
해당 글 2건
항목 7 : &&, ||, 혹은 , 연산자는 오버로딩 대상이 절대로 아니다
책 정리/More Effective C++ 1판
2008. 5. 15. 20:42
항목 24. 함수 오버로딩과 디폴트 인자값 중에서 주의깊게 선택한다.
우선 함수 오버로딩이란? 1. 똑같은 함수이름이 두개 있다. 2. 1번의 상황에서 두 함수의 매개변수가 다르다. 3. 각각 작동이 된다. 이때 이 함수를 함수 오버로딩되었다. 라고 말한다. 디폴트 인자 값이란? 1. 매개변수에 operator = 과 목적데이터를 넣는다. 예) int f(int a = 1); 이때 1은 디폴트 인자값이다. 항목 24. 함수 오버로딩과 디폴트 인자값 중에서 주의깊게 선택한다. 이유 1. C++ 특유의 함수 오버로딩과 디폴트매개변수 사이에 모호성이 발생될 수 잇다. - 이 모호성 때문에 컴파일 타임에 에러가 발생한다. (컴파일러 찾아주는 오류는 너무 반갑고 기분좋다.) 2. 가독성이 떨어 진다.... 해결방법 1. 자신에게 자문해 본다. - 디폴트로 이용할 값이 있는가? - ..
책 정리/Effective C++ 2판
2008. 5. 10. 15:28
최근댓글