一、概述
函数模板提供了一种函数行为,该函数行为可以用多种不同的类型进行调用,换句话说函数模板代表一个函数家族,它的表示看起来和普通的函数很相似,唯一的区别就是有些函数元素是未确定的,这些元素将在使用时被参数化。
下面是一个返回两个值中最大者的函数模板
template <typename T> inline T const& Max_Func(T const& a, T const& b) { return a < b ? b : a; }
这个模板定义了一个“返回两个值中最大者”的函数家族,两个值是通过函数参数a和b传递给该函数模板的;而参数的类型还没确定,用模板参数T来代替。
模板参数必须用如下形式的语法来声明:
template <用逗号隔开的参数列表>
在上面的程序中,类型参数是T,可以使用任何标识符作为类型参数的名称,但使用T已经成为了一种惯例,类型参数T表示的是,调用者调用这个函数时所指定的任意类型,可以使用任何类型(基本类型,类等)来实例化该类型参数,只要所用类型提供模板使用的操作就可以,例如上面的这个例子,类型T需要支持operator<,因为a和b就是使用这个运算符来比较大小的。
标签:const,函数,编程,参数,类型,值中,模板 From: https://www.cnblogs.com/QingYiShouJiuRen/p/17471072.html