首页 > 其他 > 详细

#include <cstdarg>

时间:2016-07-07 06:16:38      阅读:352      评论:0      收藏:0      [点我收藏+]

 

实现可变参数

 

 1 #include <iostream>
 2 #include <cstdarg>
 3 using namespace std;
 4 
 5 template <typename T>
 6 T SUM(int count, T data1...)
 7 {
 8     va_list arg_ptr;//参数列表的指针
 9     va_start(arg_ptr, count);//限定从arg_ptr开始
10     T sum(0);
11 
12     for (int i = 0; i < count; i++)
13     {
14         sum += va_arg(arg_ptr, T);
15     }
16 
17     va_end(arg_ptr);//结束
18 
19     return sum;
20 }
21 
22 void main()
23 {
24     std::cout << SUM(5, 1, 2, 3, 4, 10) << std::endl;//20
25 
26     std::cout << SUM(7, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1) << std::endl;//28.7
27     
28     system("pause");
29 }

 

#include <cstdarg>

原文:http://www.cnblogs.com/denggelin/p/5648641.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!