函数模板
函数模板的原理:
链接 C++ 语言支持模板。有了模板,可以只写一个 Swap 模板,编译器会根据 Swap 模板自动生成多个 Sawp 函数,用以交换不同类型变量的值。
在 C++ 中,模板分为函数模板和类模板两种。函数模板是用于生成函数的,类模板则是用于生成类的。
函数模板的写法如下:
```template <class 类型参数1, class类型参数2, ...>
返回值类型 模板名(形参表)
{
函数体
}
其中的 class 关键字也可以用 typename 关键字替换,例如:
template <typename 类型参数1, typename 类型参数2, ...> 函数模板看上去就像一个函数。
写法:前面提到的 Swap 模板的写法如下
```template <class T>
void Swap(T & x, T & y)
{
T tmp = x;
x = y;
y = tmp;
}