cpp将一个vector复制给另一个vector
时间: 2023-12-23 22:04:45 浏览: 30
可以使用vector的赋值运算符或拷贝构造函数将一个vector复制给另一个vector,例如:
```
std::vector<int> vec1 = {1, 2, 3, 4, 5};
std::vector<int> vec2;
// 使用赋值运算符
vec2 = vec1;
// 或者使用拷贝构造函数
std::vector<int> vec3(vec1);
```
这样就可以将vec1中的元素复制到vec2和vec3中了。注意,这里的复制是深拷贝,也就是说vec1和vec2、vec3是独立的,修改一个不会影响其他的。
相关问题
如何让一个vector复制给另外一个vector
有多种方法可以将一个向量复制给另一个向量,以下是其中两种常见的方法:
方法一:使用赋值操作符
可以使用赋值操作符将一个向量复制给另一个向量,如下所示:
```cpp
std::vector<int> source = {1, 2, 3};
std::vector<int> destination;
destination = source; // 将 source 复制给 destination
```
方法二:使用 std::copy 函数
也可以使用 std::copy 函数将一个向量复制给另一个向量,如下所示:
```cpp
std::vector<int> source = {1, 2, 3};
std::vector<int> destination(source.size()); // 创建一个与 source 大小相同的向量
std::copy(source.begin(), source.end(), destination.begin()); // 将 source 复制给 destination
```
这里我们需要创建一个与 source 大小相同的向量 destination,并使用 std::copy 函数将 source 复制给 destination。需要注意的是,destination 的大小必须与 source 的大小相同,否则无法完全复制 source 的内容。
二维vector复制到另一个二维vector
以下是将一个二维vector复制到另一个二维vector的方法:
```cpp
#include <vector>
#include <iostream>
using namespace std;
int main() {
int N = 2, M = 3;
vector<vector<int>> Matrix(N, vector<int>(M, 0)); // 原始的二维vector
vector<vector<int>> CopyMatrix(Matrix); // 复制原始的二维vector到另一个二维vector
// 打印复制后的二维vector
for (int i = 0; i < CopyMatrix.size(); i++) {
for (int j = 0; j < CopyMatrix[i].size(); j++) {
cout << CopyMatrix[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
输出结果:
```
0 0 0
0 0 0
```