제네릭한 스타일 코드에선 Boolean 값의 상수에 따라 두 자료형 중 하나를 선택해야 할 필요가 있다고 책에 적혀 있다. .. 사실 이런 경우를 겪어 볼 만큼 실력이 있지 않아 이런 경우가 있을까? 란 의구심마저 들지만, 어떤 원리가 있는지만 알아 두자.
Boolean 값으로 두 자료형 중 한 자료형을 선택하기
직감적으로 어떤 원리인지 알 수 있을 것이다.
.. 그래도 말로 정리하자면,
- 템플릿을 이용하여 boolean의 어떤 타입이 오건 T를 선택하게 한다.
- 예외적으로 boolean이 false일 때, U를 선택하게 한다.
다시 글의 처음으로 되돌아 가서, 두 자료형 중 하나를 선택해야 할 때가 언제 일까?
다형성을 이용할 때라든지, 큰 용량의 객체를 복사 하려 할 때, 포인터를 사용하면 조금 더 최적화가 가능해 지며, 관리가 약간(많이는 아니더라...) 더 좋아진다. 이때, 이 테크닉을 활용하면 좋을 듯 싶다. 예를 들어, 다형성을 가지고 있다면 포인터로 저장, 다형성이 없다면 볼래 타입으로 저장.. 뭐 이런식...
다음 테크닉에선 "타입이 다형성을 가지고 있는지 체크하는 테크닉"을 알아보겠다.
이번 장은, 경험해 보지 못해서 마음으로 이해하지 못했던 장이였다.
'책 정리 > Modern C++ Design' 카테고리의 다른 글
Part 3, 테크닉 3-1 Typelist의 필요성 (0) | 2009.08.20 |
---|---|
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-5 타입을 다른 타입으로의 매핑하는 테크닉 (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 |
최근댓글