码迷,mamicode.com
首页 > 其他好文 > 详细

#include <cstdarg>

时间:2016-07-07 06:17:01      阅读:139      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!