NullType
.. 아니 이게 모지? 라고 생각을 했었다. 10개월 전 쯤에.. 처음 이것의 가치를 본 것은 boost::tuple이였다. 템플릿이 코드를 생성한다고 하나, 템플릿 파라미터를 가변으로 만들어주지는 못하고 있다.(나중에 한다는 말을 들은 것 같은데?)
tuple 을 보면 총 10개까지(까지가 중요한거다 까지!) 타입을 받아 하나의 자료형으로 묶을 수가 있다. 만약 10개가 안되는 타입, 예를 들어 2개의 타입만을 묶을 때는 나머지 8개의 타입을 NullType으로 묶는다.
음.. 실제로 boost::tuple의 생성자 쪽을 보면, 헉! 이건 뭐지? 라고 할텐데. 보면 자연스럽게 직감할 수 있을 것이라고 생각한다.
크... 다시 정리 하지만 NullType은 "난 타입이 아니야. 임마!" 라는 타입이다. 만들 때는 다음과 같이 만든다.
EmptyType
이 타입이 어떻게 쓰이는지 본적이 없어서 잘 모르겠다. 책에선 다음과 같이 정리 했는데,
- EmptyType은 상속이나 함수의 파라미터로 건네질 수 있다.
- 난 텅텅 비어 있는 타입이다.
- 타입을 사용해야 하긴 하나, 사용할게 없을 때 쓸 수 있는 타입(Don't care)
음 실제 어떻게 코드를 짜는지 보면 알 수 있을 듯 싶다. 일단 EmptyType 은 밑의 코드 처럼 만든다.
'책 정리 > Modern C++ Design' 카테고리의 다른 글
Part 3, 테크닉 3-4 Typelist의 길이 계산 방법 (710) | 2009.08.28 |
---|---|
Part 3, 테크닉 3-3 Typelist의 선형화 (0) | 2009.08.28 |
Part 3, 테크닉 3-2 Typelist의 정의 (0) | 2009.08.20 |
Part 3, 테크닉 3-1 Typelist의 필요성 (0) | 2009.08.20 |
Part 2, 테크닉 : 2-10 Traits 자료형 (0) | 2009.07.30 |
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-5 타입을 다른 타입으로의 매핑하는 테크닉 (0) | 2009.07.23 |
Part 2, 테크닉 : 2-4 상수 값에서 자료형으로의 변환 (0) | 2009.07.12 |
최근댓글