C++ List 中的 swap()函数

首页 / C++入门教程 / C++ List 中的 swap()函数

C++ List swap()函数与另一个相同类型的列表交换列表的内容,但是大小可以不同。

swap - 语法

void swap(list& x);

swap - 参数

x  - 这是另一个要与给定列表交换的列表。

swap - 返回值

它不返回任何值。

swap - 例子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交换。

swap - 例子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&)没有匹配的调用。

链接:https://www.learnfk.comhttps://www.learnfk.com/c++/cpp-list-swap-function.html

来源:LearnFk无涯教程网

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

NLP实战高手课 -〔王然〕

Django快速开发实战 -〔吕召刚〕

技术面试官识人手册 -〔熊燚(四火)〕

中间件核心技术与实战 -〔丁威〕

Web 3.0入局攻略 -〔郭大治〕

Serverless进阶实战课 -〔静远〕

现代C++20实战高手课 -〔卢誉声〕

结构思考力 · 透过结构看表达 -〔李忠秋〕

互联网人的数字化企业生存指南 -〔沈欣〕

好记忆不如烂笔头。留下您的足迹吧 :)