이 포스트의 목적
- 일반화 함수자(함수 객체)를 구현하는 방법을 알아 본다.
이 포스트의 준비물
- VMware player 3.1.2
- Debian 5 64bit
- g++ 4.3.2
- vim 7.1.314
- project.vim
- make
참조 서적
- 안드레 알렉산드레스쿠 저. Modern C++ Design. 이기형 역.
Addiston-Wesley. 인포북. 초판 2003.07.30. page(183 ~ 190)
내용
boost에 있는데, 모하러 구현하냐 싶지만, 구현하는 과정 중에 배움을 얻기 위해서 구현해 보는 것이다. 그러므로 구현해 본다.
기본틀은 어떻게 잡을까?
- 그냥 함수자의 경우, 기본틀은 다음과 같을 것이다.
- 1번에서, 리턴타입이 void 로 고정되어서 일반화 함수자로 쓸수 없다. 그래서 리턴타입을 변할수 있게 템플릿을 주어야 한다. 그러면 다음과 같이 될것이다.
- 2번에서, 리턴타입을 템플릿으로 주었듯이 이번엔 함수자의 파라미터를 템플릿으로 바꾸어야 한다. 우선 인자 두개까지만 받을수 있다고 친다면, 다음과 같이 틀을 짤수 있다.
- 3번에서 operator()가 많이 정의되어 있지만, 실제로 인스턴스화 되는 함수는 클래스 템플릿당 한개밖에 없다.
기본틀에서 어떻게 정의 부분을 구현할까?
다음에 정리하겠다.여담
- 너무 졸렵다. 내일 정리하자.
'책 정리 > Modern C++ Design' 카테고리의 다른 글
6장, 싱글턴(Singleton)의 구현 - 2. 싱글턴(Singleton)의 기초적인 구현 (0) | 2010.11.30 |
---|---|
6장, 싱글턴(Singleton)의 구현 - 1. 싱글턴(Singleton)이란 무엇인가? (0) | 2010.11.30 |
5장, 일반화 함수자(함수 객체) - 7. 총평 (0) | 2010.11.28 |
5장, 일반화 함수자(함수 객체) - 6, 일반화 함수자 구현하기 - 멤버 함수 포함시키기 (0) | 2010.11.28 |
5장, 일반화 함수자(함수 객체) - 5, 일반화 함수자 구현하기 (0) | 2010.11.27 |
5장, 일반화 함수자(함수 객체) - 3, C++의 호출 가능한 객체들 (0) | 2010.10.09 |
5장, 일반화 함수자(함수 객체)와 Command 패턴 : 2 - Command 패턴은 무엇인가? (0) | 2010.09.29 |
5장, 일반화 함수자(함수 객체)와 Command 패턴 : 1 - 일반화 함수자는 무엇인가? (0) | 2010.09.29 |
4장, 작은 객체에 대한 메모리 할당 : 6 - 더 이야기 하고 싶은 메모리 풀 (1) | 2010.09.26 |
4장, 작은 객체에 대한 메모리 할당 : 5 - 메모리 풀에서 할당 기능을 어떻게 만들 것인가? (0) | 2010.09.25 |
최근댓글