C++基础编程----含有可变形参函数

省略符形参

省略符形参仅仅是用于C和C++通用的类型,特别注意的是,大多数类类型的对象在传递时给省略符形参时是无法正确拷贝的。

省略号的优先级别最低,所以在函数解析时,只有当其它所有的函数都无法调用时,编译器才会考虑调用省略号函数的。
举例:
#include<iostream>               //  要处理不定参数的函数要包含头文件:#include <stdarg.h> 
#include<stdarg.h>
using namespace std;


void ArgFunc(char* str,...);
int main(int argc,char **argv)
{
ArgFunc("dfsa","fsda",23,35.4);
system("pause");
return 0;
}
void ArgFunc(char *str,...)
{
va_list ap;                      //先定义一个参数列表变量:va_list ap; 
va_start(ap,str);            //  确定不定参数所在的位置,这里第二个参数是本函数的第一个形参          

char* ss=va_arg(ap,char*);      //  获取参数并指明类型,如:va_arg(ap, char*);获取第一个参数,并指明类型为char*
int i=va_arg(ap,int);
double dd=va_arg(ap,double);


cout<<ss<<"  "<<i<<"  "<<dd<<endl;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值