讲一个vector复制给另一个vector
时间: 2023-12-23 10:05:21 浏览: 36
在 C++ 中,可以使用 `std::vector` 的 `operator=` 或 `assign` 方法将一个 vector 复制给另一个 vector。下面是一个简单的示例代码:
```c++
#include <iostream>
#include <vector>
int main() {
std::vector<int> v1 = {1, 2, 3, 4, 5};
std::vector<int> v2;
// 使用 operator= 复制 v1 给 v2
v2 = v1;
// 或者使用 assign 方法复制 v1 给 v2
// v2.assign(v1.begin(), v1.end());
// 打印 v2 中的元素
for (int i : v2) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
1 2 3 4 5
```
相关问题
cpp将一个vector复制给另一个vector
可以使用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
可以使用赋值运算符"="来实现vector复制到另一个vector。例如:
```
vector<int> v1 = {1, 2, 3};
vector<int> v2;
v2 = v1;
```
也可以使用构造函数来实现:
```
vector<int> v1 = {1, 2, 3};
vector<int> v2(v1);
```
也可以使用std::copy()来实现:
```
vector<int> v1 = {1, 2, 3};
vector<int> v2(v1.size());
std::copy(v1.begin(), v1.end(), v2.begin());
```
或者std::vector<T>::assign() 来实现
```
vector<int> v1 = {1, 2, 3};
vector<int> v2;
v2.assign(v1.begin(),v1.end());
```
最后,还可以使用std::vector<T>::assign() + std::back_inserter()来实现:
```
vector<int> v1 = {1, 2, 3};
vector<int> v2;
std::copy(v1.begin(), v1.end(), std::back_inserter(v2));
```
这些方法都可以实现vector复制到另一个vector。