C++ 有没有一种方法可以在C+;中创建未知数量变量的构造函数+;?

C++ 有没有一种方法可以在C+;中创建未知数量变量的构造函数+;?,c++,C++,我想创建一个构造函数,它可以获得未知数量的整数,因此如果有人想创建一个新的MyObj(1,2)它应该可以工作,以及新的MyObj(1,2,3,2,5)或新的MyObj(1,2,3,2,n) 谢谢你是的,你可以使用std::initializer\u list,只要类型都一样。有很多方法可以实现这一点(包括建议的好的旧var\u args)。最简单的方法之一是使用: class-MyClass{ std::向量v; 公众: MyClass(std::initializer_list init):v

我想创建一个构造函数,它可以获得未知数量的整数,因此如果有人想创建一个
新的MyObj(1,2)
它应该可以工作,以及
新的MyObj(1,2,3,2,5)
新的MyObj(1,2,3,2,n)


谢谢你

是的,你可以使用
std::initializer\u list
,只要类型都一样。

有很多方法可以实现这一点(包括建议的好的旧
var\u args
)。最简单的方法之一是使用:

class-MyClass{
std::向量v;
公众:
MyClass(std::initializer_list init):v(init){
};

接受一个整数数组而不是一组定义好的整数?您将如何准确地使用这些变量?谢谢!还有,有没有办法获得uknown数量的uknon类型的变量?@JohnTraveli我不明白你的问题?您需要类似于
std::vector
?我假设这就是我想要的。我希望构造函数能够获得例如5个整数或5个整数、一个字符串和一个布尔值。@JohnTraveli:。来自您的修复站的报告:“您的水晶球是SNFAU,工作正常。过几天你就会收到我们的详细账单,上面列出了我们支票的所有仓位。”;)恐怕我就是不明白。
class MyClass {
    std::vector<int> v;
public:
    MyClass(std::initializer_list init) : v(init) {}
};