[c++] 함수 템플릿

C++에서 함수 템플릿은 일반 함수를 일반화하는 방법을 제공합니다. 이를 통해 동일한 작업을 수행하지만 다양한 데이터 타입을 다루는 함수를 만들 수 있습니다.

함수 템플릿의 선언과 정의

함수 템플릿은 다음과 같이 선언됩니다.

template <class T>
T Max(T a, T b) {
    return (a > b) ? a : b;
}

여기서 template <class T>는 함수 템플릿을 선언하는 부분입니다. T템플릿 매개변수라고 하며, 이 위치에 들어가는 실제 데이터 타입은 함수가 호출될 때 결정됩니다.

위의 예시에서 T는 두 개의 매개변수 ab의 데이터 타입입니다. Max 함수는 입력된 두 값 중 큰 값을 반환하는 함수입니다.

함수 템플릿의 사용

함수 템플릿은 다음과 같이 사용됩니다.

int main() {
    int num1 = 10, num2 = 20;
    cout << "Maximum is " << Max(num1, num2) << endl;

    double d1 = 45.75, d2 = 22.34;
    cout << "Maximum is " << Max(d1, d2) << endl;

    return 0;
}

위 예시에서 Max 함수 템플릿은 정수형과 실수형 데이터에 대해 각각 호출되었습니다.

함께 보면 좋은 자료

함수 템플릿을 활용하면 간편하게 다양한 데이터 타입들에 대한 일반화된 함수를 작성할 수 있습니다.