函数模板的特化
该定义中一个或多个模板形参的实际类型或实际值是指定的。特化形式如下:
关键字template后面接一对空的尖括号(< >);
再接模板名和一对尖括号,及括号中指定这个特化定义的模板形参;
函数形参表
函数体
template<>
int compare<const char *>(const char *const &v1, const char *const &v2)
{
return strcmp(v1, v2);
}
特化的声明必须与对应的模板相匹配。
当调用compare函数的时候,传给它两个字符指针,编译器将调用特化版本。编译器将为任意其他实参类型调用泛型版本。
const char *cp1 = "world", *cp2 = "hi";
int i1, i2;