[C++] 템플릿 이것저것(정리중...)2017. 12. 27. 21:46
템플릿 메타 프로그래밍
일반 함수를 써서 재귀호출을 해야하는 문제를, 템플릿 클래스를 이용하면 똑같이 구현할 수 있다.
▶ 템플릿의 원래 기능이 아니라, 템플릿을 이용해서 문제를 푸는 방법
cf. 재귀 호출 방식으로 템플릿을 계속 생성하는 것은, 잘 알려진 대표 템플릿 메타 프로그래밍의 예
템플릿 메서드 패턴
부모 클래스에서 virtual이 아닌 함수 내부에서, 자식의 virtual 함수를 호출한다
자식의 virtual 함수를 호출 : 객체 생성 타입에 따라 적절한 오버라이딩 호출
템플릿 트릭
템플릿 트릭 중 하나가
템플릿 메소드 패턴을 사용하면 virtual 함수를 런타임 때 테이블로 접근해서 호출하는데
이러한 테이블을 접근하는 시간을 단축하기 위해 해결하는 static polymorphism 방법임 ( 템플릿 04 강의 )
템플릿 메서드 패턴의 템플릿은 C++템플릿이 아니다.. 그냥 "틀" 이라는 의미다.
c++템플릿의 기능을 사용하는 것이 아니라, 적절한 오버라이딩을 호출하도록 하는 거니까...ㅎㅎ
'Language > C++' 카테고리의 다른 글
문자열 코딩 - [아스키코드, 멀티바이트, 유니코드] (0) | 2018.01.10 |
---|---|
[C++] variadic template (0) | 2017.12.28 |
[C] 디버깅 중 출력화면에 변수 출력하기 (0) | 2015.09.25 |
[C++] 메세지 패싱 (0) | 2015.09.17 |
[C] 2차원 배열 함수의 매개변수로 보내는 방법 (0) | 2015.09.11 |