通用函数可变参数模板

 1 /* 通用函数可变参数模板 */
 2 
 3 #include<iostream>
 4 
 5 // 通用可变参数模板  处理不限定个数的参数  处理不同类型的参数
 6 void showall()// 空函数,起到接口的作用 最后结束递归
 7 {
 8 
 9 }
10 
11 template<typename T,typename...Args>
12 
13 // Args :通用的数据类型
14 void showall(const T &value,const Args &...args)// const 锁定不能修改
15 {
16     std::cout << value << std::endl;
17     showall(args...);// 继续传递
18 }
19 
20 //设计可以修改原来的数据的  T &value,  Args &...args
21 //设计可以修改副本    T value,  Args ...args
22 //设计不可以可以改原来的数据不可以修改副本 const T value,  const Args ...args
23 //设计引用原来的数据不可以修改 const  T &value,  const Args &...args
24 
25 void main()
26 {
27     int num1 = 10, num2 = 9, num3 = 11;
28     double db1 = 10.8, db2 = 10.9;
29     char str[40] = "yincheng";
30     char ch = 'A';
31     showall(num1);
32     std::cout << "\n\n\n";
33     showall(num1,num2,num3);
34     std::cout << "\n\n\n";
35     showall(db1, db2, num1, ch);
36     std::cout << "\n\n\n";
37     showall(db1, db2, num1, ch,str);
38 
39     std::cin.get();
40 }

 

posted on 2015-05-31 16:31  Dragon-wuxl  阅读(109)  评论(0)    收藏  举报

导航