c++进阶学习笔记--函数模板

关于函数模板的学习

#include
#include
using namespace std;
/*
template   //T可以表示为任意类型,参数类型和返回类型都可以表示为T
void nametest()
{
    //函数体
}
*/

//例如这里使用比较两个相同类型的变量的函数

/*
//原本来说 比如比较两个函数是否相等,我会利用重载 例如:
bool isEqual(int i, int j)
{
    return i == j;
}//代表int类型
bool isEqual(float i, float j)
{
    return i == j;
}//代表float类型
*/

//但利用函数模板就应该是
template     
bool isEqual(T i, T j)    //这样的话,T就会根据所调用isEqual函数的参数类型进行适应
{
    return i == j;
}
//但同时如果遇到有字符指针这样的类型就无法使用常用的类型,此时就需要用到特化
template<>
bool isEqual(char* s1, char* s2)   //函数类型 函数名<特化的类型>(特化类型 名,特化类型 名)
{
    return strcmp(s1, s2) == 0;   //比较char类型
}

你可能感兴趣的:(c++,经验分享)