#include <iostream>
template <typename T>
T my_max(const T &a, const T &b)
{
return a > b ? a : b;
}
template <typename T, typename... Args>
T my_max(const T &a, const Args& ... args)
{
return my_max(a, my_max(args...));
}
int main()
{
int temp = my_max(10,11,20, 60);
std::cout << "max = " << temp<< std::endl;
return 0;
}
上述程序使用variadic template 来实现递归的求任意个数的最大值,当然Variadic template 还可以实现类的递归继承和复合