1、模板特化:模板参数在某种特定类型下的具体实现。
2、模板特化的格式:
template <> 返回类型 函数名<特化的数据类型>(参数表) {}
3、当程序中同时存在模板和它的特化时,特化将被优先调用;在同一个程序中,除了函数模板和它的特化外,还可以有同名的普通函数。其区别在于C++会对普通函数的调用实参进行隐式的转换,但不会对,疤函数及特化函数的参数进行任何形式的类型转换。
4、实例
template <class T>
T myMax(T x, T y)
{
return (x > y) ? x : y;
}
// 特化
template<> char* myMax<char*>(char* x, char* y)
{
return (strcmp(x, y) >= 0) ? a : b;
}