考虑课程Foo
和Bar
:
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)
对象?
答案 0 :(得分:9)
您可以使用:
Bar(const std::vector<int> & v) : data_(v.begin(), v.end()) {}