马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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;
}
渣渣一个求指点
|