C++ List swap()
C++ List swap()
C++ List swap()函数与另一个相同类型的列表交换列表内容,但是大小可以不同。
语法
参数
x : 这是另一个要与给定列表交换的列表。
返回值
它不返回任何值。
错误:
当两个列表都位于
示例1
让我们看一个简单的示例,当两个列表具有相同的类型和相同的大小时。
#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()函数用列表li1交换列表li的内容。
示例2
让我们看一个简单的示例,当这两个列表的类型都不相同。
#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&)没有匹配的调用。