什么呢?意味着功能参数(为const char *值,...)

问题描述:

可能重复内:
Question about a function definition (three dots in parameters..)什么呢?意味着功能参数(为const char *值,...)

我是新的C++,什么是的方法或功能

样品内...(三联点)的含义

void strArr::set(const char *value, ...) { 
    // some code here 
} 
+0

必须注意在可变参数模板是更好的选择(如果可用)。 – chris 2012-07-25 03:25:24

+0

哦,谢谢我没有看到这个。 – kuryano 2012-07-25 03:25:38

这是一个可变参数函数,它可以采取(超过1在这种情况下)的任何数量的参数。

原理类似printf及其他:

printf("%d", 1); 
printf("%d%d%d", 1,1,1); 
printf("%d%d%d%d%d%d", 1,1,1,1,1,1); 

这些都不是重载,但同样的功能采取可变数量的参数。

它来表达可变数量的参数,过去被称为va_args或variadic功能的方式。

看看here了解他们在C++中,他们在其他编程语言存在虽然,因为它只是一个通用的概念。