부재 : 반환값의 거품을 빼자.
이유
1. 객체의 값으로 반환하는 함수에 대해서 값에 의한 반환은 막을수가 없기 때문에
2. 참조자에 의한 반환값은 별도의 주의가 너무 필요하기 때문에(물론 아닌것도 있지만)
구현 방법
1. 컴파일러가 반환값을 최적화 하게 만들자.
(반환값 최적화(return value optimization : RVO) 라고 컴파일러가 분명히 지원한다)
세부 구현 방법
1. 값을 반환하는 함수에서 임시객체로 반환을 하게 만들면 된다.
코드
이유
1. 객체의 값으로 반환하는 함수에 대해서 값에 의한 반환은 막을수가 없기 때문에
2. 참조자에 의한 반환값은 별도의 주의가 너무 필요하기 때문에(물론 아닌것도 있지만)
구현 방법
1. 컴파일러가 반환값을 최적화 하게 만들자.
(반환값 최적화(return value optimization : RVO) 라고 컴파일러가 분명히 지원한다)
세부 구현 방법
1. 값을 반환하는 함수에서 임시객체로 반환을 하게 만들면 된다.
코드
경우에 따라 inlie 화를 시켜 줄수도 있다.
'책 정리 > More Effective C++ 1판' 카테고리의 다른 글
유용하고 재미있는 프로그래밍 기법들(Techniques) (0) | 2008.05.22 |
---|---|
항목 24 : 가상 함수, 다중 상속, 가상 기본 클래스, RTTI에 들어가는 비용을 제대로 파악하자 (0) | 2008.05.22 |
항목 23 : 정 안 되면 다른 라이브러리를 사용하자! (0) | 2008.05.22 |
항목 22 : 단독 연산자(op) 대신에 =이 붙은 연산자(op=)를 사용하는 것이 좋을 때가 있다. (0) | 2008.05.22 |
항목 21 : 오버로딩은 불필요한 암시적 타입변환을 막는 한 방법이다. (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 |
항목 15 : 예외 처리에 드는 비용에 대해서 정확히 파악하자 (0) | 2008.05.20 |
최근댓글