Language/C++

[C++] 템플릿 (Template)

bugwasd 2016. 1. 10. 23:15

템플릿(Template)은 같은 기능을 다양한 자료형에 사용할 수 있도록 하는 틀을 말한다.

즉, 기능은 이미 결정되어 있지만 자료형이 결정되어 있지 않은 특징을 가지고 있다.


다음을 템플릿을 이용한 함수 템플릿이다.


1
2
3
4
5
template <typename T>
T sum(T a, T b)
{
    return a+b;
}



위의 template <typename T> 는 T라는 이름에 대해서, 다음에 정의하는 대상을 템플릿으로 선언한다는 것을 뜻한다.

이제 이 함수는 어떤 인자가 전달되는가에 따라서 자료형이 결정되게 된다.