关注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;}