函数模板
时间: 2023-08-24 12:20:53 浏览: 86
函数模板是一种通用的函数定义,可以用来创建多个函数,这些函数都具有类似的操作,但是它们的参数类型可以不同。函数模板的定义以关键字“template”开始,后面紧跟着函数定义,其中函数参数可以使用“typename”或“class”关键字,来表示参数类型是任意类型。例如:
```
template <typename T>
T max(T a, T b) {
return a > b ? a : b;
}
```
这个函数模板定义了一个名为“max”的通用函数,可以用来比较两个同类型的值的大小,并返回较大的那个。在调用这个函数时,可以传递任意类型的参数,例如:
```
int a = 3, b = 5;
cout << max(a, b) << endl; // 输出 5
double x = 2.5, y = 1.8;
cout << max(x, y) << endl; // 输出 2.5
string s1 = "hello", s2 = "world";
cout << max(s1, s2) << endl; // 输出 "world"
```
在这些调用中,函数模板会根据实际传递的参数类型,自动推导出模板参数类型,并生成相应的函数。这样,我们就可以用同样的代码实现不同类型的操作。
阅读全文