많은 사람들에게 템플릿의 첫 번째이자 가장 명백한 용도는 vector, list 및 map과 같은 컨테이너 클래스를 정의하고 사용하는 것이다. 곧 이러한 컨테이너를 조작하기 위한 함수 템플릿의 필요성이 발생한다. 벡터 정렬은 간단한 예다. template void sort(vector&); // declaration void f(vector& vi, vector& vs) { sort(vi); // sor t(vector&); sort(vs); // sor t(vector&); } 함수 템플릿이 호출되면 함수 인수의 유형에 따라 사용되는 템플릿 버전이 결정된다. 즉, 템플릿 인수는 함수 인수에서 추론된다. 당연히 함수 템플릿은 어딘가에 정의되어야 한다. template void sort(vector& v)..