可变参数列表通过宏实现;头文件为stdarg.h。
定义变量类型va_list和三个宏va_start和va_arg和va_end.
注意:在调用va_arg时候要注意参数类型。
案例:计算平均值
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
#include<cmath>
#include<stdarg.h>
using namespace std;
//可变参数列表 计算平均值
double average(int n, ...){
double sum = 0;
va_list var;
//准备访问参数 初始化
va_start(var, n);
//取变量的值
for (int i = 0; i < n; i++){
sum += va_arg(var, int);
}
//结束
va_end(var);
return sum / n;
}
int main(){
cout << average(3, 4, 5, 6);
return 0;
}