在C++中,术语"函数模板"和"模板函数"通常是指同一概念,即模板化的函数。这是一种用于创建通用函数的技术,它们可以接受不同类型的参数,并以相同的方式处理它们,而无需为每种类型编写单独的函数。这对于在编写通用代码时非常有用,因为您可以编写一个函数模板,然后根据需要使用不同的类型参数进行实例化。
下面是一个简单的C++函数模板的示例:
#include <iostream>
template<typename T>
T add(T a, T b)
{
return a + b;
}
int main()
{
std::cout << add(5, 3) << std::endl; // 调用 add<int>(5, 3);
std::cout << add(3.5, 2.5) << std::endl; // 调用 add<double>(3.5, 2.5);
return 0;
}
在这个例子中,add 函数是一个模板函数,它可以处理任何类型的参数 T,并且执行相同的操作,即将两个参数相加。在 main 函数中,add 函数被分别调用两次,一次是使用整数参数,另一次是使用浮点数参数。编译器会根据参数的类型自动实例化适当版本的 add 函数。
需要注意的是,术语 "模板函数" 通常用于描述作为模板实例化的函数,而术语 "函数模板" 则更通用,用于描述定义模板的函数。