# std::va_list

From cppreference.com
< cpp‎ | utility‎ | variadic

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 | enables access to variadic function arguments (function macro)
va_copy (C++11) | makes a copy of the variadic function arguments (function macro)
va_arg | accesses the next variadic function argument (function macro)
va_end | ends traversal of the variadic function arguments (function macro)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/utility/variadic/va_list&oldid=76376"