作用:
存储可变参数信息的类型。
该类型是作为一个参数,会在头文件<cstdarg>中的一个宏中被用到,它用来声明一组可变参数。
vr_start初始化该类型的对象,随后会调用va_arg来获取传入函数的参数。
在vr_start返回后,该函数初始化完va_list对象之前,还要调用va_end宏作为结束。
该类型的细节依赖于特定的库。该类型的对象应该仅仅作为参数被后面这些宏使用:va_start,va_arg,va_end以及va_copy,或者使用这些宏的函数使用,比如一些在头文件<cstdio>中具有可变参数的函数:vprintf,vscanf,vsnpringf,vspringf以及vsscanf。
va_start:初始化一个可变参数列表
va_arg:获取下一个参数
va_end:结束使用可变参数列表