模板可以减少代码量,可以理解为“一个瓶子可以装多种酒”,如下图所示是一个输出的模板,可以对多种类型进行
1、非类型模板参数
非类型模板参数有两个要求:1、是常量 2、必须是整形
2、函数/类模板的特化
特化可以理解为为一般的方法增加特殊版本,这样就能让在特殊的情况也能照样使用。
template<class T1,class T2>
class Data
{
public:
Data()
{
cout << "Data" << endl;
}
private:
};
//全特化
template<>
class Data<int,double>
{
public:
Data()
{
cout << "Data<int,double>" << endl;
}
private:
};
//偏特化:特化部分参数
template<class T>
class Data<T,int>
{
public:
Data() {
cout << "Data<T,int>" << endl;
}
private:
};
template<class T>
c