va_start

来自cppreference.com
< cpp‎ | utility‎ | variadic

定义于头文件 <cstdarg>
void va_start(va_list ap, parm_n);
va_start宏允许访问的可变参数命名的参数parm_n.
原文:
The va_start macro enables access to the variable arguments following the named argument parm_n.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
va_start一个有效的va_list对象的一个​​实例ap进行任何调用之前,应调用va_arg.
原文:
va_start should be invoked with an instance to a valid va_list object ap before any calls to va_arg.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

目录

[编辑] 参数

ap -
va_list类型的一个实例
原文:
an instance of the va_list type
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
parm_n -
命名的参数前的第一个变量的参数
原文:
the named parameter preceding the first variable parameter
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 扩展后的值

(无)
原文:
(none)
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 示例

#include <iostream>
#include <cstdarg>
 
int add_nums(int count, ...)
{
    int result = 0;
    va_list args;
    va_start(args, count);
    for (int i = 0; i < count; ++i) {
        result += va_arg(args, int);
    }
    return result;
}
 
int main()
{
    std::cout << add_nums(4, 25, 25, 50, 50) << '\n';
}

输出:

150

[编辑] 另请参阅

访问下一个可变函数参数
(宏函数) [编辑]
结束可变参数函数的遍历
(宏函数) [编辑]