當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ List swap()用法及代碼示例


C++ List swap() 函數與另一個相同類型的列表交換列表的內容,但大小可以不同。

用法

void swap(list& x);

參數

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() 函數將列表 li 的內容與列表 li1 交換。

例子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& 的匹配調用)。





相關用法


注:本文由純淨天空篩選整理自 C++ List swap()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。