#include <iostream>
#include <stdlib.h>
using namespace std;
template <typename T>
void display(T a)
{
cout<<a<<endl;
}
template <typename T,typename S>
void display(T t,S s)
{
cout<<t<<endl;
cout<<s<<endl;
}
template <typename T,int KSize>
void display(T b)
{
for(int i=0;i<KSize;i++)
{
cout<<b<<endl;
}
}
int main()
{
display<int>(10);
display<double>(9.3);
display<int,double>(10,2.1);
display<int,5>(6);
system("pause");
return 0;
}
函数模板的声明是在关键字 template 后跟随一个或多个模板在尖括弧内的参数和原型。与普通函数相对,它通常是在一个转换单元里声明,而在另一个单元中定义,可以在某个头文件中定义。
就是在有很多同名但是数据类型不同,或者是数据个数不同的时候用函数模板
在没指定数据类型的时候只是一个模板没有生成保存函数的二进制代码,只有在主函数里指定数据类型后才形成二进制代码
因为在没指定数据类型之前的时候系统并不知道要形成什么样子的代码