Пространства имён
Варианты
Действия

Заголовочный файл стандартной библиотеки <cstdarg>

Материал из cppreference.com
< cpp‎ | header
 
 
Заголовочные файлы стандартной библиотеки
Языковая поддержка
<coroutine> (C++20)
<csignal>
<csetjmp>
<cstdarg>

Концепты
<concepts> (C++20)
Диагностика
<system_error> (C++11)

Управление памятью
<memory_resource> (C++17)  
Метапрограммирование
<type_traits> (C++11)
<ratio> (C++11)
Общие утилиты
<utility>
<tuple> (C++11)
<optional> (C++17)
<variant> (C++17)
<any> (C++17)
<expected> (C++23)
<bitset>

<charconv> (C++17)
<format> (C++20)
<bit> (C++20)

Строки
<cuchar> (C++11)

Контейнеры
<flat_set> (C++23)
<span> (C++20)
<mdspan> (C++23)

Итераторы
<iterator>
Диапазоны
<ranges> (C++20)
<generator> (C++23)
Алгоритмы
Числа
<cfenv> (C++11)
<complex>
<numbers> (C++20)

Время
<chrono> (C++11)
Локализация
<codecvt> (C++11/17*)
Ввод/вывод
<filesystem> (C++17)
<cstdio>
<cinttypes> (C++11)
<strstream> (C++98*)
Регулярные выражения
<regex> (C++11)
Поддержка конкуренции
<stop_token> (C++20)
<thread> (C++11)
<atomic> (C++11)
<stdatomic.h> (C++23)
<mutex> (C++11)
<shared_mutex> (C++14)
<condition_variable> (C++11)  
<semaphore> (C++20)
<latch> (C++20)
<barrier> (C++20)
<future> (C++11)

Совместимость с C
<cstdbool> (C++11/17/20*)  
<ccomplex> (C++11/17/20*)
<ctgmath> (C++11/17/20*)

<cstdalign> (C++11/17/20*)

<ciso646> (до C++20)

 

Этот заголовочный файл изначально был в стандартной библиотеке 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