读书人

关注C++细节变参数函数的参数获取

发布时间: 2013-03-10 09:38:39 作者: rapoo

关注C++细节——变参数函数的参数获取问题

va_list

va_start

va_end

va_arg

变参数函数问题中主要是靠这几个函数来获取参数,这四个函数都在cstdarg 或 stdarg.h包中,可以百度下,很简单


下面直接举个例子:

#include <iostream>#include <cstdarg>using namespace std;int print(char *start, ...){    va_list args;    char *tmp = start;    va_start(args,start);    //Author Blog:http://blog.csdn.net/IAccepted    do    {        cout<<tmp<<endl;        tmp = va_arg(args,char *);    }while(tmp!=NULL);    va_end(args);    return 0;}int main(){    print("1", "2", "3", "4", "5", "6", "7", "8", NULL);    //Author Blog:http://blog.csdn.net/IAccepted    return 0;}

参数获取操作必须包含在va_start 和va_end之间

读书人网 >C++

热点推荐