1. 概念
在平时的使用中经常,有时候一些同样的函数处理代码,但是由于形参的不同,使得要声明两个不同的函数,搞得代码跟一坨屎山一样,所以在C++中会有函数模版
- 减少代码复用性,增强代码可读性
- 用于参数、返回值数据类型不同,但是函数内容以及函数名相同;
2. 语法
2.1 声明
关键词: template<type name T>
//函数模版
template<typename T>//声明一个函数数据类型模版
T add(T x,T y)
{
return x+y;
}
- 定义在头文件中,模板的代码也写在头文件中
2.2 示例
#pragma once
template <typename T>
T Max(T* array, int length)//求数组最大值的模板
{
T temp = 0;
for (int i = 0; i < length; i++)
{
if (temp < array[i])
{
temp = array[i];
}
}
return temp;
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-087FtCSP-1666182480798)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ada5d745-ca03-4c9b-ac44-46874605e958/Untitled.png)]