Заголовочный файл стандартной библиотеки <cstdarg>
Материал из cppreference.com
Этот заголовочный файл изначально был в стандартной библиотеке C как <stdarg.h>.
Этот заголовочный файл обеспечивает поддержку функций с переменным числом аргументов в стиле C, в то время как C определение «продвижения аргументов по умолчанию» заменено определением C++.
Типы | |
| содержит информацию, необходимую для va_start, va_arg, va_end и va_copy (класс) | |
Макросы | |
| разрешает доступ к аргументам функции с переменным числом аргументов (функция-макрос) | |
| обращается к следующему аргументу функции с переменным числом аргументов (функция-макрос) | |
(C++11) |
делает копию аргументов функции с переменным числом аргументов (функция-макрос) |
| завершает обход аргументов функции с переменным числом аргументов (функция-макрос) | |
Краткое описание
namespace std {
using va_list = /*смотрите описание*/ ;
}
#define va_arg(V, P) /*смотрите описание*/
#define va_copy(VDST, VSRC) /*смотрите описание*/
#define va_end(V) /*смотрите описание*/
#define va_start(V, P) /*смотрите описание*/
Отчёты о дефектах
Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:
| Номер | Применён | Поведение в стандарте | Корректное поведение |
|---|---|---|---|
| CWG 2645 | C++98 | C++ определяет «продвижение аргументов по умолчанию», но используется определение C |
определение C++ переопределяет определение C |