标准库标头 <cstdarg>

来自cppreference.com
< cpp‎ | header


 
 
标准库头
 

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

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

类型

保有 va_startva_argva_endva_copy 所需的信息
(typedef)

启用对可变函数实参的访问
(宏函数)
访问下一个可变函数实参
(宏函数)
(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 2645C++98C++ 定义了“默认实参提升”,但使用的仍然是它的 C 定义C++ 定义会覆盖 C 定义