c++ template
时间: 2023-07-04 18:28:21 浏览: 104
c++ templates
C++ 模板是一种通用编程技术,可以编写与类型无关的代码。模板可以用于函数、类、数据结构等,可以在编译时生成具体的类型代码,从而实现代码的重用和泛化。
C++ 模板的语法如下所示:
```c++
template <typename T>
T max(T a, T b) {
return a > b ? a : b;
}
```
这里使用 `template` 关键字声明一个模板函数,并使用 `typename` 关键字定义一个类型参数 `T`,表示该函数可以处理任何类型的数据。函数体中使用 `T` 作为数据类型,从而实现通用性。
使用模板函数时,需要在函数名后使用尖括号(<>)指定具体的类型参数,例如:
```c++
int a = 10, b = 20;
cout << max<int>(a, b) << endl; // 输出 20
double c = 3.14, d = 2.718;
cout << max<double>(c, d) << endl; // 输出 3.14
```
这里使用 `max<int>` 和 `max<double>` 指定具体的类型参数,从而实现了通用的比较函数。
除了函数模板,C++ 也支持类模板和模板特化等特性,可以进一步扩展模板的功能。
阅读全文