I have 2 vectors like so:
std::vector<unsigned char> v1;
std::vector<unsigned char> v2;
它们每个都有一些数据。
如果我想要将v2附加到v1,我知道以下是正确的方法。 v1.insert(v1.end(), v2.begin(), v2.end());
问题:
如何将v1前置到v2中?
v2.insert(v2.begin(), v1.begin(), v1.end())
在这里似乎不起作用?
我知道我可能会得到使用std::deque
的建议,但问题是v2
作为旧代码中函数的输出传递给我的,并且包含大量我不想通过附加拷贝到v2
的数据。所以,我只想将v1
前置到v2
,因为v1
相对于v2
非常小。
最初的回答:
如果您想将一个向量前置到另一个向量中,请使用下面的代码。
v2.insert(v2.begin(), v1.begin(), v1.end());
a
很大,我是否需要对a
进行一些调整或处理? - AdeleGoldberg