c++ - 如何合并两个包含 std::unique_ptr 的 vector ?

标签 c++ pointers c++11 vector stl

如果我有两个包含 std::unique_ptr<> 的 vector ,有没有办法将 vector b 添加到 vector a 的末尾,从而删除 vector b?

例如:

std::unique_ptr<std::vector<int>> a(&someintvector);

std::unique_ptr<std::vector<int>> b(&someotherintvector);

如何将 vector b 移动到 vector a 的末尾?

最佳答案

b 的内容移动到 a 中:

std::move(std::begin(*b), std::end(*b), std::back_inserter(*a));

关于c++ - 如何合并两个包含 std::unique_ptr 的 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26317738/

相关文章:

C++ 可变参数模板方法特化

c++ - C++ 标准库中的 boost::optional 替代方案

c++ - std::memory_order_relaxed 是否足以检查 "Availability"?

c++ - 使用 fstream 覆盖 C++ 文件中的数据

c - 如何在函数中使用 realloc() 并访问值?

c++ - 将当前用户名写入Windows中的文件

c - C中的自修改代码 : Use a function pointer?

c - 是否可以恢复单链表的头指针?

c++ - 通过 UDP 套接字发送的限制

c++ - 移动构造函数应该采用 const 还是非 const 右值引用?