|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
Be alone,that is the secret of invention;be alone ,that is when ideas are born;
模板 ---建立通用工具的模具
C++提供两种模板机制:函数模板和类模板
函数模板
作用:
建立一个通用函数,其函数的返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代替
语法:
template<typename T>
template->声明创建模板
typename->表明他后面的数据类型是一种数据类型,可以用class代替
T->通用数据类型,名称可以替换,通常为大写字母
- #include<iostream>
- using namespace std;
- //typename可以替换成class
- template<typename T>//声明一个模板,告诉编译器后面代码中紧跟着的T不要出错,T是一个通用数据类型
- void Swap(T &a,T &b)
- {
- T temp = a;
- a = b;
- b = temp;
- }
- //模板必须要确定出T的数据类型,才可以使用
- template<class T>
- void Swap1()
- {
- cout << "Swap1!!!!!!!!!" << endl;
- }
- void test1()
- {
- int a = 10,b = 99;
- char c = 'c';
-
- //自动类型推导
- Swap(a,b);
- //自动类型推导--必须推导出一致的数据类型T才可以使用
- Swap(a,c);//× 推导不出一致的T类型
-
- //显示指定类型
- Swap<int>(a,b);
-
- cout << "a : " << a << endl;
- cout << "b : " << b << endl;
- }
- void test2()
- {
- Swap1();//× 模板不能独立使用,必须确定除T的类型
- Swap1<int>();//√ 利用显示指定类型的方式,给T一个类型,才可以使用模板
- }
- //使用模板时必须确定出通用数据类型T,并且能够推导出一致的类型
- int main()
- {
- test1();
-
- test2();
-
- return 0;
- }
复制代码 渣渣一个求指点
|
|