CLASS TEMPLATE

클래스 템플릿은 컨테이너 구조를 타입과 분리해 재사용한다

스택, Pair, vector처럼 저장 타입만 달라지는 클래스는 타입 매개변수로 중복을 줄인다.

정의

클래스 내부에서 T를 실제 타입처럼 사용해 멤버 변수와 함수를 작성한다.

template <typename T>
사용

객체를 만들 때 클래스 이름 뒤에 실제 타입을 명시한다.

Pair<int,double>
배치

정의는 헤더에 두는 편이 안전하다. 분리하면 인스턴스화 정보가 부족해질 수 있다.

MyContainer.h
판단 기준: 자료구조의 동작은 같고 저장 타입만 다르면 클래스 템플릿이 함수 오버로드보다 자연스럽다.