1.语法: template<typename T>
typename也可以用class ,T为任意字符,通常用T
2.使用模板的目的:提高代码的复用性,将类型参数化
#include<iostream>
using namespace std;
//模板
//语法: template<typename T> typename也可以用class ,T为任意字符,通常用T
//使用模板的目的:提高代码的复用性,将类型参数化
template<typename T>
void MySwap(T &a,T &b)
{
T temp=a;
a=b;
b=temp;
}
void test01()
{
int a=10;
int b=20;
cout<<"自动类型推导"<<endl;
cout<<"交换前:"<<endl;
cout<<a<<endl;
cout<<b<<endl;
//1.自动类型推导
MySwap(a,b);
cout<<"交换后"<<endl;
cout<<a<<endl;
cout<<b<<endl;
}
void test02()
{
int a=10;
int b=20;
cout<<"显式指定类型"<<endl;
cout<<"交换前:"<<endl;
cout<<a<<endl;
cout<<b<<endl;
//2.显式指定类型
MySwap<int>(a,b);
cout<<"交换后"<<endl;
cout<<a<<endl;
cout<<b<<endl;
}
int main()
{
test01();
test02();
system("pause");
return 0;
}