使用C ++中的数组调用一个带有可变数量参数的函数(如python的*运算符)

我想用C ++编写一个v8模块; 在那里,函数在数组中接收可变数目的参数。 我想采取该数组,并调用一个函数,如gettextprintf接收格式化的string,这是必要的参数。 问题是,如何获取一个数组并将这些元素作为参数发送给其中一个函数呢?

在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。