이번장은 어떤 테크닉인가?
2.4에서 배운것은 "템플릿"을 이용하여 메모리 손해를 최하(1Byte)로 하여 상수를 타입(자료형)으로 바꾸었다. 이번엔 템플릿을 이용하여 "타입을 다른 타입"으로 바꾸는 테크닉이다.
손쉽게 만들 수 있다. 그런데 이것을 배우고 나서 이런 생각이 든다.
이걸 어디에 써먹지?
책에선 함수 템플릿의 부분 특수화를 하기 위해서 사용했다. 그러므로 여기에 대해서는 더 이상 언급하지 않겠다. 사실 책에 무척 자세하고 아주 친절하며, 몹시 재미있게 정리되어 있기 때문이다. 나라면, 컴파일 타임 함수 분기에 타입을 이용 한다면 "함수 호출에 따른 복사 생성자 호출 비용을 최소화하기" 위해서 사용 할 것이다.
어떻게 쓰는데?
이렇게 쓴다. 어떤 타입이건, 메모리 1 바이트만 사용하여 컴파일 타임 함수 분기를 사용 할 수 있다. 물론 쓸 필요가 없을 땐 쓰지 않는게 더 좋겠지만..
'책 정리 > Modern C++ Design' 카테고리의 다른 글
Part 2, 테크닉 : 2-10 Traits 자료형 (0) | 2009.07.30 |
---|---|
Part 2, 테크닉 : 2-9 NullType과 EmptyType (710) | 2009.07.28 |
Part 2, 테크닉 : 2-8 type_info에 대한 포장 클래스 만들기 (0) | 2009.07.24 |
Part 2, 테크닉 : 2-7 형변환과 상속 가능의 여부를 컴파일 타임에 일어 내는 방법 (0) | 2009.07.24 |
Part 2, 테크닉 : 2-6 자료형의 선택 테크닉 (0) | 2009.07.23 |
Part 2, 테크닉 : 2-4 상수 값에서 자료형으로의 변환 (0) | 2009.07.12 |
Part 2, 테크닉 : 2-3 로컬 클래스 (0) | 2009.06.28 |
Part 2, 테크닉 : 2-2 템플릿의 부분 특화 (0) | 2009.06.27 |
Part 2, 테크닉 : 2-1 컴파일 타임 어써션 (0) | 2009.06.27 |
Part 1, 단위 전략(또는 정책 기반) 클래스(policy-based)의 디자인 (1067) | 2009.06.21 |
최근댓글