항목 14에서 실제로 쓸 때, 실제 객체를 만드므로써, 복사 자체를 지연 시킴을 보았을 것이다. 이번 항목에선 operator[] 를 이용해서 사용 되어 질 경우에 생각해야 할 "거리"를 준다.
다음 코드를 보자.
이 코드의 operator[] 들을 정의 해보자.
해설
많은 설명은 생략한다. operator[] 의 접근은 위험하기 때문에 무조건 새로운 개체 생성이 좋지 않을까? 한다. 물론 내 개인적인 생각이지만..
총평
More Effective C++ 을 생각 나게 했다.ㅇ
'책 정리 > More Exceptional C++' 카테고리의 다른 글
항목 4 : 확장 가능한 템플릿 : 상속을 통해서 아니면 특성(traits) 클래스를 통해서? ( 난이도 : 7 ) (0) | 2008.12.22 |
---|---|
항목 3 : 판단자(predicate) Part 2 : 상태와 판단자 ( 난이도 : 7 ) (0) | 2008.12.20 |
항목 2 : 판단자(predicate) Part 1 : remove()가 삭제 하는 것은? (난이도 : 4 ) (0) | 2008.12.19 |
항목 1 : 스트림 전환(Switching Streams) ( 난이도 : 2 ) (0) | 2008.12.19 |
항목 16 : 최적화 미루기 Part 4 : 멀티쓰레드 환경 (0) | 2008.12.18 |
항목 14 : 최적화 미루기 Part 2 : 미루기에 대한 소개 ( 난이도 : 3 ) (0) | 2008.12.18 |
항목 13 : 최적화 미루기(lazy optiomization) Part 1 : 그저 평범한 String (난이도 : 2 ) (0) | 2008.12.18 |
항목 12 : inline ( 난이도 : 4 ) (0) | 2008.12.17 |
항목 28 : 다형성 제어하기 ( 난이도 : 3 ) (0) | 2008.12.16 |
항목 27 : (비)순수 가상 함수 ( 난이도 : 7 ) (0) | 2008.12.16 |
최근댓글