函数模板:函数模板是c++模板机制的一种,其作用是 的为了不同的数据生成操作数相同或者相似的函数。
函数模板的实现:模板以关键字tempate开头,其后是以一对尖括号划分的模板参数列表,模板函数参数列表可以声明多个参数,参数之间用逗号隔开。
template <typename T>T Swap(T &x,T &y)
{
T temp;
temp = x;
x = y;
y = temp;
}
对于实例中特有变量参数提取出来作为模板参数,然后编译器根据需要将模板参数替换成具体类型,并根据模板自动生成对所需要类型进行操作的函数模板实例,即真是函数。
模板函数参数类型定义的关键字是:typename和class
利用模板参数推导时需要注意以下几点:
1)编译器只根据函数调用时给出的实参列表来推导模板参数值,与函数参数类型是无关的模板参数气质无法推导。
2)与函数返回值相关的模板参数气质也无法推导。
3)所有可推导模板参数必须是连续位于模板参数列表尾部,中间不可能有不可推导的模板参数。
未完待续。。。。。