c++ 关键字template
时间: 2023-09-14 14:06:34 浏览: 101
C++中的关键字template用于实现类模板和函数模板,它可以将泛型编程(generic programming)引入到C++中。通过使用模板,我们可以编写可重用的代码,以便在不同的数据类型上执行相同的操作。
类模板定义了一个通用的类,其中某些类型可能是未知的,然后可以在实例化时指定这些类型。例如,我们可以定义一个通用的容器类,其中元素的类型是未知的,然后在创建容器实例时指定元素的类型。
函数模板定义了一个通用的函数,其中某些参数的类型可能是未知的,然后可以在调用时指定这些类型。例如,我们可以定义一个通用的排序函数,其中排序的元素类型是未知的,然后在调用排序函数时指定元素的类型。
下面是一个简单的模板函数的示例,它接受两个参数,并返回它们的最大值:
```
template <typename T>
T max(T a, T b) {
return (a > b) ? a : b;
}
```
在这个示例中,我们使用了关键字template来定义一个函数模板,使用typename来指定类型参数T,然后在函数体中使用T作为类型。在调用这个函数时,我们可以指定T的具体类型,例如:
```
int a = 10, b = 20;
int result = max<int>(a, b); // result = 20
```
阅读全文