考虑类 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)
?
最佳答案
您可以使用:
Bar(const std::vector<int> & v) : data_(v.begin(), v.end()) {}
关于C++ 用另一个 vector 初始化 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50355737/