首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-03-10 
关注C++细节——变参数函数的参数获取问题va_listva_startva_endva_arg变参数函数问题中主要是靠这几个函数

关注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之间

热点排行