模板的概念
模板 是一种代码重用工具。仅写一套代码,就能支持多种类型。
如返回最大值的函数 ... max(...),如果不用模板,就得写很多该函数的重载版本。如
int max(int a , int b){
return a>b ?a : b;
}
int max(float a , float b){
return a>b ?a : b;
}
int max(int a , int b){
return a>b ?a : b;
}
int max(float a , float b){
return a>b ?a : b;
}
我们得把每种调用该函数的类型都写到,代码基本一样,却得重复很多遍,而且一旦需要修改,每个方法都得修改!
而采用 模板,就方便多了,一套代码搞定。
template<class T>
T max(T a , T b){
return a>b ?a : b;
}
我们可以用任意类型参数调用该方法,编译器会帮我们生成