C++中模板的作用是什么?模板有几种?函数模板的定义格式?什么叫函数模板的实例化?
时间: 2024-03-05 22:50:45 浏览: 83
C++中模板是一种通用的编程机制,它可以用于实现通用的数据结构和算法,可以让程序员编写出更加灵活和可扩展的代码。
C++中有两种模板:函数模板和类模板。函数模板用于实现通用的函数,类模板用于实现通用的类。
函数模板的定义格式如下:
```
template <typename T>
返回值类型 函数名(参数列表)
{
// 函数实现
}
```
其中,`template`关键字表示定义的是模板函数,`typename`或`class`用于指定模板参数的类型,`T`是模板参数的名字,可以根据需要进行定义,`返回值类型`和`参数列表`与普通函数的定义格式相同。
函数模板的实例化是指根据具体的模板参数类型,生成出一个具体的函数。例如,对于以下的函数模板:
```
template <typename T>
T add(T a, T b)
{
return a + b;
}
```
当我们使用`add(1, 2)`进行调用时,编译器会根据模板参数类型`int`,生成出一个具体的函数`add<int>(int a, int b)`,这个过程就是函数模板的实例化。
阅读全文