c++把一个vector赋值到另一个vector
时间: 2024-08-01 22:01:16 浏览: 117
C++中vector可以作为map的键值实例代码
在 C++ 中,你可以通过多种方式将一个 `vector` 赋值给另一个。最常见的是使用赋值运算符 `=` 来复制整个容器的内容:
```cpp
std::vector<int> vec1 = {1, 2, 3}; // 定义一个初始向量
std::vector<int> vec2; // 定义一个空向量
// 使用赋值运算符复制内容
vec2 = vec1;
// 现在 vec2 的内容和 vec1 相同
```
另一种更高效的方式是在需要时使用 `reserve()` 和 `push_back()` 函数逐个添加元素,但这通常用于大型数据转移或避免浅拷贝(如果源向量不是原始类型)。例如:
```cpp
for (const auto& element : vec1) {
vec2.push_back(element);
}
// 或者直接使用迭代器
std::copy(vec1.begin(), vec1.end(), std::back_inserter(vec2));
```
注意,如果源向量很大,这种逐个添加的方式可能会比直接赋值慢。
阅读全文