[zz]c++可变参数函数使用

/*
va_list vl; //定义一个指向参数列表的变量(一个...指针)
va_start(vl,first_param); //把指向参数列表的变量初始化
va_arg(vl,mode); //获取下一个参数,参数类型由第二个参数指定,第二个参数用于在va_arg内部进行尺寸计算,以便找到下一个参数
va_end(vl); //结束
*/
#include <iostream>
#include <cstdarg> //头文件包含:C++ <cstdarg>; C <stdarg.h>
using namespace std;
void variable(int i,...)
{
    int j=0;
    va_list arg_ptr; //定义一个指向参数列表的变量
    va_start(arg_ptr,i); //把指向参数列表的变量初始化

    while(j!=-1) //自定义的一个参数结束标志
    {
        j=va_arg(arg_ptr,int); //获取下一个参数
        printf("%d ",j);
    }
    va_end(arg_ptr); //结束
}
int main()
{
    variable(3,3,4,5,6,-1);return 0;
}
posted @ 2012-09-11 09:49  Dsp Tian  阅读(481)  评论(0编辑  收藏  举报