在案例3中,我们使用initializer_list可以实现支持多个参数的max函数。下面我们将使用可变参数模板实现。
上代码:
/*******************************************
* Name: example.cpp
* Describe: 可变模板参数实例5
* Author: SSCOCA
* Version: 1.00
* Date: 2018年8月9日
* Other:
*********************************************/
template<typename T>
T max(T val1, T val2){
return val1 > val2 ? val1 : val2;
}
template<typename T, typename... Args>
T max(T val, Args... arg){
T result = max(arg...);
return max(val, result);
}
void main4(){
double num = max(1.0, 2.0, 35.0, 7.0);
}