您当前的位置: 首页 >  c++

我什么都布吉岛

暂无认证

  • 5浏览

    0关注

    292博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C++函数参数不确定怎么办?可变参数列表

我什么都布吉岛 发布时间:2020-05-25 12:17:56 ,浏览量:5

一、为什么使用可变参数列表?

为了解决原型函数只能显示固定数目的参数的不足,C语言定义了一种访问数目未定的参数列表的机制,这就是可变参数列表。

二、如何使用?

“声明 开始 使用 结束”三步完成。

type fun(list_num,...)
{
    va_list vlist;//不定参数声明
    va_start(vlist,vlist_num);//指明参数个数
    va_arg(vlist,type);//使参数偏移sizeof(type)字节
    va_end(vlist);//结束访问
}
三、缺点
  • 无法判断不定参数的个数(需另外传参)
  • 无法使用隐式转换(都当成是int)

第一点导致我们需要对参数个数进行另外指定(如下例中的 n_values);第二点导致必须确保传入参数类型可靠性(不使用隐式转换规则情况下)

四、一个例子:求平均值
#include 
#include 

double fun(int n_values, ...)
{
	va_list vlist;//... uncertain parameter
	int count = 0;
	double sum = 0;

	va_start(vlist, n_values);//start

	for (; count             
关注
打赏
1658157489
查看更多评论
0.0374s