c++ list 拷贝
时间: 2024-10-30 15:03:46 浏览: 12
C++ 自实现的List
C++的STL库中的list是一个双向链表,可以动态地添加和删除元素。在C++中拷贝list可以通过构造函数和赋值操作符来完成。使用构造函数可以创建一个新的list,其中包含原始list中的所有元素。使用赋值操作符可以将原始list中的所有元素复制到现有list中。
例如,下面的代码展示了如何使用拷贝构造函数来复制一个list:
```
#include <iostream>
#include <list>
using namespace std;
int main()
{
list<int> originalList = {1, 2, 3, 4, 5};
list<int> copiedList(originalList); // 使用拷贝构造函数进行复制
cout << "Original list: ";
for (auto i : originalList)
cout << i << " ";
cout << endl;
cout << "Copied list: ";
for (auto i : copiedList)
cout << i << " ";
cout << endl;
return 0;
}
```
另外,还可以使用赋值操作符来完成拷贝,例如:
```
#include <iostream>
#include <list>
using namespace std;
int main()
{
list<int> originalList = {1, 2, 3, 4, 5};
list<int> copiedList;
copiedList = originalList; // 使用赋值操作符进行复制
cout << "Original list: ";
for (auto i : originalList)
cout << i << " ";
cout << endl;
cout << "Copied list: ";
for (auto i : copiedList)
cout << i << " ";
cout << endl;
return 0;
}
```
需要注意的是,在使用赋值操作符进行拷贝时,如果现有的list已经包含了一些元素,那么这些元素会被删除,并且被替换为原始list中的元素。而使用拷贝构造函数则不会影响现有的list,而是创建一个新的list。
阅读全文