从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;
    }

示例代码:
从C到C++快速入门(5. 函数模板)_第1张图片
从C到C++快速入门(5. 函数模板)_第2张图片

定义一个函数模板,可以应用于任何数据类型

你可能感兴趣的:(C++,从C到C++快速入门(5.,函数模板))