关于c ++:在另一端添加一个向量

Add a vector at the end of another

本问题已经有最佳答案,请猛点这里访问。

有没有方法在另一个向量的末尾添加一个向量?例如,如果我的向量是

1
2
3
4
5
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是最聪明的方法(即在不使用循环和push_back的情况下得到v1=1 2 3 4 5 6)?


您可以使用insert

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

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

希望这有帮助!