【发布时间】:2015-10-13 16:42:00
【问题描述】:
考虑以下程序:
#include <iostream>
struct Test
{
Test(...)
{
std::cout<<"Variadic constructor\n";
}
};
int main()
{
Test t;
t={3,4,5};
}
我认为它是可变参数构造函数。 C++ 标准是否说构造函数可以是可变参数?这样的构造函数有什么用?允许可变参数构造函数的基本原理是什么?
【问题讨论】:
-
这样就不必编写多个构造函数了。这个不是很有用,顺便说一下,它没有提供任何关于参数实际是什么的信息。
-
第一个问题:函数可以是可变参数,构造函数是函数。为什么不能是可变参数?
-
@MrLister:如果你写一个答案,用一个例子来解释它的用处会更好。
-
现在我们有了可变参数模板,可变参数方法几乎没用了。缺乏类型安全等等。
-
Pravasi Meet,但正如@lisyarus 所说,可变参数构造函数与任何其他可变参数函数一样有用。您真的在询问可变参数函数的用途吗?
标签: c++ constructor variadic-functions variadic