gpt4 book ai didi

c++ - 在 C++ 中使用数组调用具有可变数量参数的函数(如 python 的 * 运算符)

转载 作者:行者123 更新时间:2023-11-30 04:37:43 27 4
gpt4 key购买 nike

我正在尝试用 C++ 编写一个 v8 模块;在那里,函数接收数组中可变数量的参数。我想获取该数组并调用像 gettextprintf 这样的函数来接收格式化字符串和必要的参数。问题是,如何获取数组并将元素作为参数发送给其中一个函数?

在 python 中,我会做这样的事情:

def the_function(s, who, hmany): print s%(who, hmany)

the_args = ["Hello, %s from the %d of us", "world", 3]
the_function(*the_args)

如何在 C++ 中实现这一点? (我使用的是 v8 和 node.js,所以在这些命名空间中的某处可能有一个我不知道的函数或类)

最佳答案

这是一种方法:

void foo(const char *firstArg, ...) {
va_list argList;
va_start(argList, firstArg);

vprintf(firstArg, argList);

va_end(argList);
}

假设您正在尝试执行 printf。基本上,va_list 是关键,您可以使用它来检查参数,或将它们传递给采用 va_list 的其他函数。

关于c++ - 在 C++ 中使用数组调用具有可变数量参数的函数(如 python 的 * 运算符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3664348/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com