C ++用另一个向量初始化向量

时间:2018-05-15 17:03:55

标签: c++ vector initialization

考虑课程FooBar

class Foo
{
public:
    Foo() = default;
    Foo(int);
};

class Bar
{
public:
    Bar() = default;
    Bar(const std::vector<int> & v);

private:
    std::vector<Foo> data_;
};

如何编写构造函数Bar(const std::vector<int> & v),以便v的每个元素都可以使用Foo初始化Foo(int)对象?

1 个答案:

答案 0 :(得分:9)

您可以使用:

Bar(const std::vector<int> & v) : data_(v.begin(), v.end()) {}