C++: 可变参数;

可变参数,即参数的个数是动态变化的, 可多可少。

1. 可变参数;

  可变参数一般采用”..."表示,用在宏上表示变参宏, 如:

#define  WriteLine(format,...)   prifntf(format, __VA_ARGS__)

从上可以看出, 宏中"..."可以使用__VA_ARGS__来表示;

2. va_list实现函数可变参(配合vsprintf);

在函数也可以实现可变参数, 在函数内可以使用va_list, va_start, va_arg, va_end, 配合vsprintf。

例如:

void   test(const char *pFromat, ...)
{
     va_list st;
     va_start(st,pFormat);
     char  buffer[1000] ={0};
     vsprintf(buffer, pFormat, st) ;
     va_end(st);
}    

 

posted @ 2018-09-28 21:40  时光旅者  阅读(4343)  评论(0编辑  收藏  举报