c++ - 在另一个 vector 的末尾添加一个 vector

标签 c++ vector

<分区>

有没有办法在另一个 vector 的末尾添加一个 vector ?例如,如果我的载体是

std::vector<int> v1(3);
std::vector<int> v2(3);

/* ... initialize vectors ... */
/* ... for example, v1 is 1 2 3 and v2 is 4 5 6 ... */

这是在 v1 末尾添加 v2 的最聪明的方法(即获得 v1 = 1 2 3 4 5 6)不使用循环和 push_back?

最佳答案

您可以使用插入:

vec1.insert(vec1.end(), vec2.begin(), vec2.end());

这将添加 [vec2.begin(), vec2.end() 范围内的所有元素(即 中的所有元素) vec2) 到 vec1,从位置 vec1.end() 开始(即紧跟在 vec1 的所有元素之后) .

希望这对您有所帮助!

关于c++ - 在另一个 vector 的末尾添加一个 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21467990/

相关文章:

c++ - 如何在 ns3 中使用 nvcc 作为编译器

c++ - C++ streambuf 方法可以抛出异常吗?

c++ - 语法错误 : missing '{ ' before '.'

c++ - 如何使用 Prim 算法从输入文件中找到具有给定坐标集的最小生成树?

c++ - 将 vector 迭代器转换为成员指针

c++ - 使用 LIBVLC 保存视频

c++ - 帮忙解决这个问题吗?

css - 将 JPEG 图像添加到基于矢量的 SVG

c++ - 如何正确使用vector<uint8_t>.data()?

c++ - `std::transform` 的 vector 加法赋值