C++ List swap()函数与另一个相同类型的列表交换列表的内容,但是大小可以不同。
void swap(list& x);
x - 这是另一个要与给定列表交换的列表。
它不返回任何值。
让我们看一个简单的示例,其中两个列表的类型和大小都相同。
#include <iostream> #include<list> using namespace std; int main() { std::list<char> li={'+','-','*','@'}; list<char> li1={'j','a','v','a'}; std::cout << "Initially,content of list li is :"; for(list<char> :: iterator itr=li.begin();itr!=li.end();++itr) cout<<*itr; std::cout << '\n'<<"Initially,content of list li1 is :"; for(list<char> :: iterator itr=li1.begin();itr!=li1.end();++itr) cout<<*itr; li.swap(li1); cout<<'\n'; cout<<"After swapping, content of list li is :"; for(list<char> :: iterator itr=li.begin();itr!=li.end();++itr) cout<<*itr; cout<<'\n'; cout<<"After swapping, content of list li1 is :"; for(list<char> :: iterator itr=li1.begin();itr!=li1.end();++itr) cout<<*itr; return 0; }
输出:
Initially,content of list li is : +-*@ Initially,content of list li1 is : java After swapping, content of list li is : java After swapping, content of list li1 is : +-*@
在此示例中,swap()函数将列表li的内容与列表li1交换。
让我们看一个简单的例子,当两个列表都是不同的类型时。
#include <iostream> #include<list> using namespace std; int main() { std::list<char> li={'P','H','P'}; list<int> li1={1,2,3}; li.swap(li1); cout<<'\n'; return 0; }
输出:
error : no matching call for list::swap(list&).
在此示例中,两个列表都是不同的类型。因此,函数swap()会引发错误,即:list :: swap(list&)没有匹配的调用。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
Tony Bai · Go语言第一课 -〔Tony Bai〕