[c] 함수 템플릿

템플릿 프로그래밍은 C++에서 강력한 기능 중 하나입니다. 이를 활용하여 코드를 효율적으로 작성하고, 재사용성을 높일 수 있습니다. 함수 템플릿은 특정 데이터 타입에 종속되지 않는 일반적인 함수를 작성하는 데 사용됩니다.

함수 템플릿의 사용

C++에서 함수 템플릿은 다음과 같이 작성됩니다:

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

위의 예시에서 template <class T>는 template 키워드를 사용하여 함수 템플릿을 시작하는 부분입니다. <class T>는 템플릿 매개변수로, 여기서 T는 임의의 데이터 타입을 나타냅니다. 이 함수 템플릿을 사용하면 서로 다른 데이터 타입에 대해 동일한 동작을 수행하는 코드를 작성할 수 있습니다.

int main() {
    int x = 5, y = 10;
    float a = 3.5, b = 8.2;
    
    cout << "Max of integers: " << max(x, y) << endl;
    cout << "Max of floats: " << max(a, b) << endl;
    return 0;
}

함수 템플릿의 장점

함수 템플릿을 사용하면 유사한 코드의 반복을 줄일 수 있습니다. 또한, 한 가지 함수 정의로 여러 종류의 데이터 타입에 대해 동작할 수 있어 코드의 재사용성이 높아집니다.

함수 템플릿은 일반화된 코드를 작성하고자 할 때 매우 유용합니다. 특히 데이터 타입에 의존하지 않는 범용적인 알고리즘이나 컨테이너와 같은 추상 자료형을 작성할 때 함수 템플릿을 활용할 수 있습니다.

결론

함수 템플릿은 C++ 프로그래밍에서 매우 유용한 기능으로, 일반적인 함수를 여러 데이터 타입에 대해 사용할 수 있도록 돕습니다. 템플릿을 사용하면 코드의 재사용성을 높이고 유지보수가 쉬운 프로그램을 작성할 수 있습니다.

자세한 내용은 C++ 함수 템플릿 문서를 참고하세요.