是的,C++函数模板可以处理多种数据类型
例如,以下是一个简单的C++函数模板,它接受两个参数并返回它们的和:
template <typename T>
T add(T a, T b) {
return a + b;
}
在这个例子中,T
是一个占位符类型,它可以在实例化函数模板时被替换为任何数据类型。当你调用这个函数模板时,编译器会根据你提供的实际参数类型来生成相应的函数。
例如:
int main() {
int a = 3, b = 4;
double c = 1.5, d = 2.5;
std::cout << "a + b = " << add(a, b) << std::endl; // 调用 int 版本的 add 函数
std::cout << "c + d = " << add(c, d) << std::endl; // 调用 double 版本的 add 函数
return 0;
}
在这个例子中,add
函数模板被实例化成了两个版本:一个用于处理int
类型,另一个用于处理double
类型。