vector 深拷贝
时间: 2023-08-23 09:06:26 浏览: 111
在 C++ 中,要进行 vector 的深拷贝,可以使用拷贝构造函数或者赋值运算符来完成。拷贝构造函数创建一个新的 vector 对象,其内容与原始 vector 相同。赋值运算符将一个 vector 的内容复制到另一个已经存在的 vector 中。
下面是使用拷贝构造函数实现 vector 的深拷贝的示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> originalVec {1, 2, 3, 4, 5};
// 使用拷贝构造函数进行深拷贝
std::vector<int> copiedVec(originalVec);
// 修改原始 vector 的元素值
originalVec[0] = 10;
// 输出两个 vector 的内容
std::cout << "Original Vector: ";
for (const auto& num : originalVec) {
std::cout << num << " ";
}
std::cout << std::endl;
std::cout << "Copied Vector: ";
for (const auto& num : copiedVec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
Original Vector: 10 2 3 4 5
Copied Vector: 1 2 3 4 5
```
可以看到,修改原始 vector 的元素并不会影响到被拷贝的 vector,说明进行了深拷贝。
希望能解答到您的问题!如有更多疑问,请随时提出。
阅读全文