[C++] 템플릿(template)을 통한 일반화(generic)
·
Language/C & C++
함수 템플릿 어떤 함수를 중복 함수로 구현할 때 매개변수의 자료형이 int, double 형으로만 구분된다면, 동일한 코드 작성이 불가능하다. int, double 형으로만 예를 들었지만, 다양한 경우 함수 동작이 자료형과 관계없이 동작하는데 자료형 때문에 중복 함수로 구현이 불가능한 경우가 있다. 이때 템플릿을 사용하여 자료형을 일반화시켜 함수를 구현할 수 있다.예를 들어 아래와 같은 두 함수가 있다고 가정하자.void print(int a) { cout 간단한 코드이지만 매개변수로 받을 때 int 인지 double 인지 구분 불가능하기 때문에 중복해서 사용할 수 없는 함수들이다.이때 template 키워드를 이용하여 자료형을 일반화시켜 아래와 같이 함수를 일반화시킬 수 있다. 이를 제네릭 함수라..