如何使动态构造它接受的参数x量,在C++?如何在C++中创建一个动态构造函数,该构造函数需要x个参数?
例如:
my_constructor(int,int,...);
可以有许多整数作为用户输入。
这甚至可能吗?
如何使动态构造它接受的参数x量,在C++?如何在C++中创建一个动态构造函数,该构造函数需要x个参数?
例如:
my_constructor(int,int,...);
可以有许多整数作为用户输入。
这甚至可能吗?
如果它们是相同类型的所有参数,只需使用初始化列表。
struct foo
{
foo(std::initializer_list<int> init)
{
....
}
}
你还是会需要但把这些东西加到某种类型的容器,(例如):
struct foo
{
std::vector<int> v;
foo(std::initializer_list<int> init)
: v(init.begin(), init.end())
{ }
};
你在谈论它的方式,我不认为这将是可能的。你将如何将所有这些参数分配给字段?您需要为对象动态生成不同的字段!我几乎可以肯定这是不可能的。但是,你可以做的是让构造器将一个数组作为它的参数的一部分,你可以用不同数量的“子参数”来填充它。 祝你好运。
我想同样的事情,但我忘了提及的参数都是相同的数据类型,所以Yuushi的建议似乎解决我的问题。尽管谢谢! – CodeDoctorJL
不同类型,你可以使用可变参数模板,并将其存储在一个'的std :: tuple'。 – chris
感谢的人,这真的帮助! – CodeDoctorJL