std::va_list (3) - Linux Manuals
std::va_list: std::va_list
NAME
Synopsis
Defined in header <cstdarg>
typedef /* unspecified */ va_list;
va_list is a complete object type suitable for holding the information needed by the macros va_start, va_copy, va_arg, and va_end.
If a va_list instance is created, passed to another function, and used via va_arg in that function, then any subsequent use in the calling function should be preceded by a call to va_end.
It is legal to pass a pointer to a va_list object to another function and then use that object after the function returns.
See also
va_start (function macro)
va_copy makes a copy of the variadic function arguments
(C++11)
va_arg (function macro)
va_end (function macro)