一、函数模板
C++中的函数模板是指定义一个函数模板,其中的参数可以是任何类型的数据,函数模板可以根据不同的参数实例化出不同的函数,从而提供了一种可以操作不同类型的数据的通用的函数。
二、常用函数模板
1、swap:用于交换两个变量的值,它可以接受任意类型的参数。
template <typename T>
void swap(T &a, T &b) {
T temp = a;
a = b;
b = temp;
}
2、max:用于比较两个变量的大小,并返回较大的变量,它也可以接受任意类型的参数。
template <typename T>
T max(T a, T b) {
return a > b ? a : b;
}
三、自定义函数模板
除了C++中内置的函数模板,我们还可以自定义函数模板来实现特定功能,例如我们可以定义一个用于求最大公约数的函数模板:
template <typename T>
T gcd(T a, T b) {
while (b != 0) {
T temp = a % b;
a = b;
b = temp;
}
return a;
}
这个函数模板可以接受任意类型的参数,并返回最大公约数。