c++传递用...传递随意个参数

本文通过一个C++程序示例介绍了如何使用变长参数列表。程序中定义了一个名为`sum`的函数,可以接收任意数量的整数参数并求和。重点介绍了`stdarg.h`库中的`va_list`、`va_start`、`va_arg`和`va_end`宏的用法和注意事项。当传入参数的数量小于`count`时,程序仍能运行但结果可能不正确。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

 

上面的例子就是传递任意个参数的例子。

要注意的是,如果count大于实参传过来的个数,那个程序依然能执行,当时结果就不对了。arg_ptr会递增超过界限。

 

va_list,va_start,va_arg,va_end都是在stdarg.h中定义的

va_list用来定义一个指针

va_start宏用来初始化前面定义的va_list指针

va_arg宏返回va_arg指向的值,并使va_arg递增

记得使用完arg_ptr时调用 va_end(arg_ptr) ,相当于将arg_ptr指针置为空

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值