C++ 用另一个 vector 初始化 vector

标签 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)

最佳答案

您可以使用:

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

关于C++ 用另一个 vector 初始化 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50355737/

相关文章:

C++ 容器拆分

Python初始化器

mysql - Docker-compose部署了我的应用程序,但未加载init.sql脚本数据

c++ - 使用类 static const 整数初始化二维数组

c++自动推导派生类

C++:使用 nlohmann json 从文件中读取 json 对象

c++ - 将 make_shared 与 emplace_back 和 push_back 一起使用 - 有什么区别吗?

java - 如何在运行时根据用户/程序员的需要自动增加数组的大小?

c++ - 预期在 C++ 中出现类型说明符错误

c++ - 返回不停止函数,递归函数问题? (编程练习,动态规划,Levenshtein Back-trace)