是否可以使用初始化列表在复制构造期间初始化向量的值数组?

时间:2017-04-16 07:16:36

标签: c++ stl copy-constructor stdvector

我想使用复制构造函数的初始化列表向我的向量中添加一到九的值,而不是在构造函数体中调用pushElements。这怎么可能?

Hane::Hane(int val, bool veri){

}

Hane::Hane():m_myvalue(0), m_myveri(false) {
    pushElements();
}
Cell::~Cell() {}

void Cell::pushElements() {

     m_vector = { 1,2,3,4,5,6,7,8,9 };

}
来自Hane.h的

 private:

std::vector<int> m_vector;

1 个答案:

答案 0 :(得分:3)

只需使用constructor that takes an initializer list(8):

struct myclass
{
    std::vector<int> m_vector;
    myclass() : m_vector{ 1,2,3,4,5,6,7,8,9 } {}
};

Live demo.

...甚至更简单,直接初始化矢量:

struct myclass
{
    std::vector<int> m_vector{ 1,2,3,4,5,6,7,8,9 };
};

Live demo.