cplusplus
.com
教程
参考
文章
论坛
C++
教程
参考
文章
论坛
参考
C 库
<cassert> (assert.h)
<cctype> (ctype.h)
<cerrno> (errno.h)
C++11
<cfenv> (fenv.h)
<cfloat> (float.h)
C++11
<cinttypes> (inttypes.h)
<ciso646> (iso646.h)
<climits> (limits.h)
<clocale> (locale.h)
<cmath> (math.h)
<csetjmp> (setjmp.h)
<csignal> (signal.h)
<cstdarg> (stdarg.h)
C++11
<cstdbool> (stdbool.h)
<cstddef> (stddef.h)
C++11
<cstdint> (stdint.h)
<cstdio> (stdio.h)
<cstdlib> (stdlib.h)
<cstring> (string.h)
C++11
<ctgmath> (tgmath.h)
<ctime> (time.h)
C++11
<cuchar> (uchar.h)
<cwchar> (wchar.h)
<cwctype> (wctype.h)
容器
C++11
<array>
<deque>
C++11
<forward_list>
<list>
<map>
<queue>
<set>
<stack>
C++11
<unordered_map>
C++11
<unordered_set>
<vector>
输入/输出
<fstream>
<iomanip>
<ios>
<iosfwd>
<iostream>
<istream>
<ostream>
<sstream>
<streambuf>
多线程
C++11
<atomic>
C++11
<condition_variable>
C++11
<future>
C++11
<mutex>
C++11
<thread>
其他
<algorithm>
<bitset>
C++11
<chrono>
C++11
<codecvt>
<complex>
<exception>
<functional>
C++11
<initializer_list>
<iterator>
<limits>
<locale>
<memory>
<new>
<numeric>
C++11
<random>
C++11
<ratio>
C++11
<regex>
<stdexcept>
<string>
C++11
<system_error>
C++11
<tuple>
C++11
<type_traits>
C++11
<typeindex>
<typeinfo>
<utility>
<valarray>
<cstdarg> (stdarg.h)
宏
va_arg
C++11
va_copy
va_end
va_start
类型
va_list
参考
<cstdarg>
头文件
<cstdarg> (stdarg.h)
可变参数处理
此头文件定义了用于访问未命名参数列表的各个参数的宏,这些参数的数量和类型对于被调用函数是未知的。
一个函数可以通过在其常规命名参数后包含一个逗号和三个点(
,...
)来接受可变数量的额外参数,而无需相应的参数声明。
return_type function_name ( parameter_declarations , ... );
要访问这些额外参数,可以使用此头文件中声明的宏
va_start
、
va_arg
和
va_end
。
首先,
va_start
将可变参数列表初始化为一个
va_list
。
随后执行的
va_arg
会按照传递给函数的相同顺序产出额外参数的值。
最后,必须在函数返回之前执行
va_end
。
类型
va_list
用于保存可变参数信息的类型
(类型)
宏函数
va_start
初始化一个可变参数列表
(宏)
va_arg
检索下一个参数
(宏)
va_end
结束使用可变参数列表
(宏)
va_copy
复制可变参数列表
(宏)