C++中函数模板和模板函数的区别

来源:百度知道 编辑:UC知道 时间:2024/07/07 20:55:57

2.1 函数模板的定义
不管它们的性质如何,所有的函数模板都具有同样的基本格式:
template<参数说明>
函数头
函数体

例如,下面是一个2参数的模板的声明:
template<class T>
T max(T param1 ,T param2)
{
//此处为函数体
}

2.根据上面已定义的模板,编译器将可生成下面的模板函数(都是对的,函数模板的目的就是函数重载):
char * max(char * a, char * b) //模板函数1
{
return (a>b)?a:b;
}

int max(int a, int b) //模板函数2
{
return (a>b)?a:b;
}

double max(double a, double b) //模板函数2
{
return (a>b)?a:b;
}
等等。。。。。。。。。。。。。

函数模板提供了一类函数的抽象,它提供了任意类型为参数及返回值。函数模板经实例化后生成的具体函数成为模板函数。函数模板代表了一类函数,模板函数表示某以具体函数。

2.1 函数模板的定义
不管它们的性质如何,所有的函数模板都具有同样的基本格式:
template<参数说明>
函数头
函数体

例如,下面是一个2参数的模板的声明:
template<class T>
T max(T param1 ,T param2)
{
//此处为函数体
}

2.根据上面已定义的模板,编译器将可生成下面的模板函数(都是对的,函数模板的目的就是函数重载):
char * max(char * a, char * b) //模板函数1
{