本系列博客是我假期在B站花了一天时间看了一个快速入门C++的视频,大概是4个小时,不过来回截图,整理笔记也花了一大整天;
8.函数模版
由上一节我们可知,C++支持函数重载;但是当函数的功能主体需要变化时,我们需要对所有同名的函数进行更改,这样就比较麻烦。那么C++就提供了一种函数模版,可以自定义函数的类型;
#include <string>
using namespace std
template<typename T>
T add(T x, T y){
return x + y;
}
int main(){
#if 1
cout << add<int>(5, 3) << endl;
cout << add<double>(5.3, 7.8) << endl;
cout << add<string>("hello", "world") << endl;
#else
cout << add(5, 3) << endl; //编译器也可以自动推断类型
cout << add(5.3, 7.8) << endl;
cout << add("hello", "world") << endl;
#endif
return 0;
}
template<typename T>:模版函数的定义,声明;
T add(T x, T y){:定义一个模版函数实例/对象;