#include <iostream>
//通用可变参数模板 处理不限定个数的参数,处理不同类型
void showall()//空函数,接口,最后结束递归 新版本编译 强制预留接口
{
}
template<typename T,typename...Args> /// ...可变长度!!!!
void showall(const T &value, const Args &...args)
{
std::cout << value << std::endl;
showall(args...);//继续传递 采用上式viod showall 进行结束递归
}
//设计可以修改原来的数据的 T &value, Args &...args
//设计可以修改副本 T value, Args ...args
//设计不可以可以改原来的数据不可以修改副本 const T value, const Args ...args
//设计引用原来的数据不可以修改 const T &value, const Args &...args
void main()
{
int num1 = 10, num2 = 9, num3 = 11;
double db1 = 10.8, db2 = 10.9;
char str[40] = "yincheng";
char ch = 'A';
showall(num1);
std::cout << "\n\n\n";
showall(num1,num2,num3);
std::cout << "\n\n\n";
showall(db1, db2, num1, ch);
std::cout << "\n\n\n";
showall(db1, db2, num1, ch,str);
std::cin.get();
}
可变长函数参数模板
最新推荐文章于 2021-10-30 17:30:12 发布