标准库标头 <cstdarg>

来自cppreference.com


 
 
标准库头
 

此标头原作为 <stdarg.h> 存在于 C 标准库。

此头文件提供对 C 风格变参函数的支持,并且“默认实参提升”的 C 定义会替换成对应的 C++ 定义

类型

保有 va_startva_argva_endva_copy 所需的信息
(typedef) [编辑]

启用对可变函数实参的访问
(宏函数) [编辑]
访问下一个可变函数实参
(宏函数) [编辑]
(C++11)
制造可变函数实参的副本
(宏函数) [编辑]
结束对可变函数实参的遍历
(宏函数) [编辑]

概要

#define __STDC_VERSION_STDARG_H__ 202311L

namespace std {
  using va_list = /* 见描述 */ ;
}

#define va_arg(V, P)        /* 见描述 */
#define va_copy(VDST, VSRC) /* 见描述 */
#define va_end(V)           /* 见描述 */
#define va_start(V, ...)    /* 见描述 */

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
CWG 2645 C++98 C++ 定义了“默认实参提升”,但使用的仍然是它的 C 定义 C++ 定义会覆盖 C 定义