C++不定参数

来源:百度知道 编辑:UC知道 时间:2024/06/20 10:08:17
本人初学。。。
希望了解一下如何使用含有不定数目个参数的函数,
请举例说明;
比如:
输入若干不定数目的整数,求其和、方差、标准差、极差。

最好使用#include<iostream.h>的语句

#include <conio.h>
#include <stdarg.h>
#include <iostream>
using namespace std;

/************************************************************************/
/*  
type va_arg(va_list argptr, type);
  void va_end(va_list argptr);
  void va_start(va_list argptr, last_parm);
都包含在头文件<stdarg.h>中
任何可变长度的变元被访问之前,必须先用va_start()初始化变元指针argptr
#define _INTSIZEOF(n) ((sizeof(n)+sizeof(int)-1)&~(sizeof(int) - 1) )
#define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) ) //第一个可选参数地址
#define va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) ) //下一个参数地址
  #define va_end(ap) ( ap = (va_list)0 ) // 将指针置为无效
*/
/************************************************************************/

void test()
{
double a;
a = 1.1;
int b = *(int*) & a;
cout << (void*)&a << " " << (void*)&b << endl;
}

i