📅  最后修改于: 2023-12-03 14:59:46.480000             🧑  作者: Mango
C++ STL中的forward_list是基于单向链表实现的 STL 中的容器,使用 forward_list 时需要注意它与另一个链表容器 list 的不同:forward_list 没有了析构函数。因为它是用单独的链表节点实现的,所以它本身没有拥有节点的权限。
forward_list::swap()是forward_list容器的成员函数,用于交换两个列表的内容。
下面是 forward_list::swap() 的语法:
void swap (forward_list& x) noexcept;
x:与容器交换内容的 forward_list。
无。
以下示例展示了 forward_list::swap() 的用法:
#include <iostream>
#include <forward_list>
using namespace std;
int main () {
// 定义两个 forward_list 容器
forward_list<int> list1 = { 1, 2, 3};
forward_list<int> list2 = { 10, 20, 30 };
// 输出交换前两个容器的值
cout << "Before swap: " << endl;
cout << "list1: ";
for (int& i : list1)
cout << i << " ";
cout << endl;
cout<< "list2: ";
for (int& i : list2)
cout << i << " ";
cout << endl;
// 交换两个容器的内容
list1.swap(list2);
// 输出交换后两个容器的值
cout << "After swap: " << endl;
cout << "list1: ";
for (int& i : list1)
cout << i << " ";
cout << endl;
cout<< "list2: ";
for (int& i : list2)
cout << i << " ";
cout << endl;
return 0;
}
输出结果:
Before swap:
list1: 1 2 3
list2: 10 20 30
After swap:
list1: 10 20 30
list2: 1 2 3