Standard library header <cstdarg>
From cppreference.net
C++
Standard library headers
此头文件最初作为 <stdarg.h> 存在于C标准库中。
此头文件提供对 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 语言定义 |