1.函数模板的全局特化
函数模板的全局特化和类模板的全局特化类似,以template<>开头。
template<>
int f(int)
{
return 2;
}
另外,函数模板的全局特化不能包含缺省的实参值,而函数模板可以包含缺省的实参值。
template<typename T>
int f(T ,T x=42)
{
return x;
}
template<>
int f(int ,int =42) //错误,不能包含缺省实参值
{
return x;
}
2.函数模板的局部特化
函数的局部特化和类模板的局部特化类似。
template<typename T>
int f(T* ,T*)
{
return 0;
}