C++的模板

模板的概念

模板就是建立通用的摸具,提高复用性

函数模板

C++提供两种模板机制:函数模板类模板

函数模板语法

函数语法作用:

建立一个通用的函数,其函数返回值和形参类型可以不具体制定,用一个虚拟的类型来代表。

语法

1
2
template<typename T>
函数声明或定义

解释

template:声明函数模板

typename:表面其后面的富豪是一种数据类型,可以用class代替

T:通用的数据类型,名称可以替换,通常为大写字母

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
template<typename T>//声明一个模板
void sawp(T &a, T &b)
{
T tmp = a;
a=b;
b=tmp;
}
int main()
{
int a =10;
int b =10;
//自动类型推导
sawp(a,b);
//显示指定类型
swap<int>(a,b);
return 0;
}

注意事项

1.自动类型推导,必须推导出一致的数据类型T,才可以使用

2.模板必须要确定出T的数据类型,才可以使用