在很多时候,我们需要对不同的数据类型做一些操作,但是这些操作是相同的,比如求取一个数组中的最大元素,我们只需:
for(int i=0; i<arr.size(); i++)
if(arr[i] > max_val) max_val = arr[i];
可是面对不同的数据类型,我们需要实现不同的函数,比如下面我们需要实现两个函数来选择int
或者double
数组中的最大值,非常麻烦
int array_max(vector<int> arr)
{
int max_val = arr[0];
for(int i=0; i<arr.size(); i++)
if(arr[i] > max_val) max_val = arr[i];
return max_val;
}
double array_max(vector<double> arr)