从C到C++快速入门(5. 函数模板)
int add(int x, int y)
{
return x+y;
}
double add(double x, double y)
{
return x+y;
}
我们如果加入的实参的类型不同,需要定义不同的add函数,这样不方便,所以这里引用到:
通用算法:函数模板。也成为泛型算法
用template关键字增加一个模板头,将数据类型变成类型模板参数
template
T add(T x, T y){
return x + y;
}
// 上面这样还不是一个函数
- 模板实例化
给模板参数传递实际的模板参数,产生具体的函数
cout << add(5, 3) << endl;
编译器遇到这个代码,会自动产生以下函数:
int add(int x, int y){
return x+y;
}
示例代码:
定义一个函数模板,可以应用于任何数据类型