간단하게 설명하면 어떠한 자료형에 대해서든 사용할 수 있도록 하게해주는 것이다.
template <typename T>
void swap(T& a, T& b) {
T tmp = a;
a = b;
b= tmp;
}
이와같이 작성하면 a, b 로 어떠한 자료형이 오던 해당 타입으로 반환해준다.
class template 도 기존 template와 동일한 개념이다.
template <typename T>
class Array {
private:
T* _arr;
public:
}
hpp에서 선언한 클래스를 재정의 하려면 tpp라는 타입의 확장자 파일에 정의해주어야 한다.