부재 : 임시객체 생성을 줄여 보자.
이유
1.묵시적 타입변환으로 임시객체가 만들어 지어, 자원 낭비가 되기 때문이다.
구현방법
1. 오버로딩을 하여, 임시객체가 생성되는것을 막는다.
(생성자가 묵시적 타입변환으로 임시객체가 생성되는 조건에 대해서 알고 있어야 한다.)
주의점
1. 불필요한 오버로딩은 오히려 더 나쁘다.
참조
1. 오버로딩되는 연산자 함수는 반드시 최소한 한 개의 사용자 정의타입을 매개변수로 해야 한다.
개인적인 생각
1. 편역자는 암시적 타입변환이라 하지만 나같은 경우에는 묵시적 타입변환으로 말하는게 좋을것 같다.
컴파일러 입장에선 암시적이다.
컴파일러는 사용자가 그렇게 시킨것이라고 암시적으로 알렸다고 판단하기 때문이다.
하지만
사용자는 컴파일러가 자신에게 말하지도 않고 형변환을 시켜준것이기 때문에
묵시적이란 표현이 더 알맞을거 같은 생각이 든다.
이유
1.묵시적 타입변환으로 임시객체가 만들어 지어, 자원 낭비가 되기 때문이다.
구현방법
1. 오버로딩을 하여, 임시객체가 생성되는것을 막는다.
(생성자가 묵시적 타입변환으로 임시객체가 생성되는 조건에 대해서 알고 있어야 한다.)
주의점
1. 불필요한 오버로딩은 오히려 더 나쁘다.
참조
1. 오버로딩되는 연산자 함수는 반드시 최소한 한 개의 사용자 정의타입을 매개변수로 해야 한다.
개인적인 생각
1. 편역자는 암시적 타입변환이라 하지만 나같은 경우에는 묵시적 타입변환으로 말하는게 좋을것 같다.
컴파일러 입장에선 암시적이다.
컴파일러는 사용자가 그렇게 시킨것이라고 암시적으로 알렸다고 판단하기 때문이다.
하지만
사용자는 컴파일러가 자신에게 말하지도 않고 형변환을 시켜준것이기 때문에
묵시적이란 표현이 더 알맞을거 같은 생각이 든다.
'책 정리 > More Effective C++ 1판' 카테고리의 다른 글
항목 25 : 생성자 함수와 비멤버 함수를 가상 함수처럼 만드는 방법 (0) | 2008.05.22 |
---|---|
유용하고 재미있는 프로그래밍 기법들(Techniques) (0) | 2008.05.22 |
항목 24 : 가상 함수, 다중 상속, 가상 기본 클래스, RTTI에 들어가는 비용을 제대로 파악하자 (0) | 2008.05.22 |
항목 23 : 정 안 되면 다른 라이브러리를 사용하자! (0) | 2008.05.22 |
항목 22 : 단독 연산자(op) 대신에 =이 붙은 연산자(op=)를 사용하는 것이 좋을 때가 있다. (0) | 2008.05.22 |
항목 20 : 반환값 최적화가 가능하게 하자. (0) | 2008.05.20 |
항목 19 : 임시 객체의 원류를 정확히 이해하자. (0) | 2008.05.20 |
항목 18 : 예상되는 계산 결과를 미리 준비하면 처리비용을 깍을 수 있다. (0) | 2008.05.20 |
항목 17 : 효율 향상에 있어 지연 평가는 충분히 고려해 볼 만하다. (0) | 2008.05.20 |
항목 16 : 뼈속까지 잊지 말자, 80-20 법칙 (0) | 2008.05.20 |
최근댓글