有没有办法在C ++中创建一个包含未知数量变量的构造函数?

时间:2016-12-15 17:50:10

标签: c++

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

谢谢

2 个答案:

答案 0 :(得分:6)

有很多方法可以实现这一目标(包括建议为duplicate的好旧var_args)。其中一个最简单的方法是使用std::initializer_list

class MyClass {
    std::vector<int> v;
public:
    MyClass(std::initializer_list init) : v(init) {}
};

答案 1 :(得分:3)

是的,只要类型完全相同,就可以使用std::initializer_list