본문 바로가기

PROGRAMMING LANGUAGE/C++

C++ 함수 템플릿 사용하기



#include <iostream>
// 함수 템플릿 원형
template <class Any>
void Swap(Any& a, Any& b);
using namespace std;

int main()
{
	int i = 10;
	int j = 20;
	cout << "i, j = " << i << ", " << j << ".\n";
	cout << "컴파일러가 생성한 int형 교환기를 사용하면\n";
	Swap(i, j);
	cout << "이제 i, j = " << i << ", " << j << ".\n";

	double x = 24.5;
	double y = 81.7;
	cout << "x, y = " << x << ", " << y << ".\n";
	cout << "컴파일러가 생성한 double형 교환기를 사용하면\n";
	Swap(x, y);
	cout << "이제 x, y = " << x << ", " << y << ".\n";

	return 0;
}

// 함수 템플릿 정의
template <class Any>
void Swap(Any& a, Any& b)
{
	Any temp;
	temp = a;
	a = b;
	b = temp;
}

함수 템플릿이 실행 프로그램을 짧게 만들어 주지는 않는다. 함수 템플릿의 장점은 오버로딩해서 사용하는 것보다 여러개의 함수 정의를 할 필요없이 간단하고 신뢰성 있게 생성할 수 있다.

'PROGRAMMING LANGUAGE > C++' 카테고리의 다른 글

함수의 Default 매개변수  (0) 2021.11.11
const 함수 이용  (0) 2021.11.11
inline 함수  (0) 2021.11.11
참조를 리턴받을 때 문제점  (0) 2021.11.10
strcpy , strcpy_s 차이점  (0) 2021.08.16