网站制作html代码域名是什么
C++定义的函数是可以支持函数参数个数不确定的。VA_LIST是在C++语言中解决变参问题的一组宏,所在头文件:#include <stdarg.h>,用于获取不确定个数的参数同时使用"…"代替多个参数,调用时只需要根据需要传入多个参数。
VA_LIST的用法:
[转载]
- 首先在函数里定义一具VA_LIST型的变量,这个变量是指向参数的指针;
- 然后用VA_START宏初始化刚定义的VA_LIST变量;
- 然后用VA_ARG返回可变的参数,VA_ARG的第二个参数是你要返回的参数的类型(如果函数有多个可变参数的,依次调用VA_ARG获取各个参数);
- 最后用VA_END宏结束可变参数的获取。
遍历可变参数(VA_LIST)
[转载]
-
传入的时候指定参数个数
void arg_cnt(int cnt, ...){int value=0;int i=0;int arg_cnt=cnt;va_list arg_ptr; va_start(arg_ptr, cnt); for(i = 0; i < cnt; i++){value = va_arg(arg_ptr,int);printf("value%d=%d\n", i+1, value);}va_end(arg_ptr);}
调用方法:“arg_cnt(4,1,2,3,4);”,第一个参数为传入参数个数。
-
传入的时候指定特殊的字符以标示为结
int demo( char msg, ... ){va_list argp;int argno = 0;char para;va_start( argp, msg );while (1){para = va_arg( argp, char);if ( strcmp( para, "") == 0 )break;printf("Parameter #%d is: %s\n", argno, para);argno++;}va_end( argp );return 0;}
调用方法:“demo(“DEMO”, “This”, “is”, “a”, “demo!”, “”);”,最后一个参数标示结束。