(给CPP开发者加星标,提升C/C++技能)
来源:M_jianjianjiao https://blog.csdn.net/M_jianjianjiao/article/details/85220983
函数的特化
使用模板时会遇到一些特殊的类型需要特殊处理,不能直接使用当前的模板函数,所以此时我们就需要对该类型特化出一个模板函数(就是写出一个模板函数专门给该类型使用)
当使用一个判断相等的模板函数时
template<class T>bool Isequal(T& p1, T& p2){
return p1 == p2;}
但是该模板函数在对于字符串进行比较时就不能使用了,对于字符串我们不能直接比较,因此直接特化出一个专门供字符串使用的模板参数
template<> // 此处不添加类型模板,直接使用空即可bool Isequal<char*>(char*& p1, char*& p2){
return strcmp(p1, p2) == 0;}
【注意