Заголовок стандартной библиотеки <cstdarg>
Изначально этот заголовок входил в стандартную библиотеку C как <stdarg.h>.
Этот заголовок обеспечивает поддержку функций с переменным числом аргументов в стиле C, а определение C «повышений аргументов по умолчанию» заменяется на определение C++.
Типы |
|
хранит информацию, необходимую для va_start, va_arg, va_end и va_copy (псевдоним типа) |
|
Макросы |
|
| обеспечивает доступ к аргументам функции с переменным числом аргументов (функциональный макрос) |
|
| получает следующий аргумент функции с переменным числом аргументов (функциональный макрос) |
|
|
(C++11) | создаёт копию аргументов функции с переменным числом аргументов (функциональный макрос) |
| завершает перебор аргументов функции с переменным числом аргументов (функциональный макрос) |
|
Обзор
#define __STDC_VERSION_STDARG_H__ 202311L
namespace std {
using va_list = /* see description */ ;
}
#define va_arg(V, P) /* see description */
#define va_copy(VDST, VSRC) /* see description */
#define va_end(V) /* see description */
#define va_start(V, ...) /* see description */
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были применены задним числом к ранее опубликованным стандартам C++.
| DR | Применён к | Опубликованное поведение | Правильное поведение |
|---|---|---|---|
| CWG 2645 | C++98 | В C++ определены «повышения аргументов по умолчанию», но использовалось их определение из C | определение C++ имеет приоритет над определением C |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/header/cstdarg