C++ Reference: Standard C++ Library reference: Containers: deque: deque: swap

news2024/11/25 8:20:23

C++官网参考里链接:https://cplusplus.com/reference/deque/deque/swap-free/

函数模板 
<deque>
std::swap (deque)
template <class T, class Alloc>  void swap (deque<T,Alloc>& x, deque<T,Alloc>& y);
交换两个双端队列容器的内容
容器x的内容与容器y的内容交换。两个容器对象必须具有相同的类型(相同的模板形参),尽管大小可能不同。
在调用这个成员函数之后,x中的元素是调用之前在y中的元素,y中的元素是在x中的元素。所有迭代器、引用和指针对于交换后的对象仍然有效。
这是通用算法swap的重载,通过将资产的所有权相互转移到另一个容器(即,容器交换对其数据的引用,而不实际执行任何元素复制或移动)来提高性能:它的行为就像调用了x.swap(y)。

形参 
x, y
deque相同类型的容器(即具有相同的模板形参,T和Alloc)。

返回值
没有返回值。

用例
// swap (deque overload)
#include <iostream>
#include <deque>

main ()
{
  unsigned int i;
  std::deque<int> foo (3,100);   // three ints with a value of 100
  std::deque<int> bar (5,200);   // five ints with a value of 200

  swap(foo,bar);

  std::cout << "foo contains:";
  for (std::deque<int>::iterator it = foo.begin(); it!=foo.end(); ++it)
    std::cout << ' ' << *it;
  std::cout << '\n';

  std::cout << "bar contains:";
  for (std::deque<int>::iterator it = bar.begin(); it!=bar.end(); ++it)
    std::cout << ' ' << *it;
  std::cout << '\n';

  return 0;
}
输出:

复杂性
常数。

迭代器的有效性
所有指向两个容器中元素的迭代器、指针和引用仍然有效,现在指向的是它们在调用之前引用的相同元素,但在另一个容器中,它们现在进行迭代的地方。
注意,结束迭代器不指向元素,可能会无效。

数据竞争
两个容器x和y都被修改了。

异常安全
如果两个比较比较中的分配器相等,或者它们的分配器特性(allocator traits)表明分配器应该传播(propagate),则函数永远不会抛出异常(无抛出保证)。
否则,它将导致未定义的行为。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/68703.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ESP32调试-快速入门】

文章目录ESP32调试一. 环境搭建二. 运行OpenOCD1. 烧入blink2. 找到芯片型号对应的脚本文件&#xff0c;并运行脚本命令三. 运行GDBESP32调试 一. 环境搭建 ESP_IDF环境搭建 二. 运行OpenOCD 1. 烧入blink 如&#xff1a;安装环境中的examples中的blink 路劲&#xff1a;安装…

华为机试 - 探索地块建立

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 给一块n*m的地块&#xff0c;相当于n*m的二维数组&#xff0c;每个元素的值表示这个小地块的发电量&#xff1b; 求在这块地上建立正方形的边长为c的发电站&#xff0c;发电量满足目标电量k的地块数量…

汽车保养app开发,扩充汽车服务市场发展商机

从汽车市场规模来看&#xff0c;从2017年开始始终保持增长的发展趋势&#xff0c;在2021年市场规模达到140877.18亿元。互联网时代发展下&#xff0c;汽车后市场大力推广电子商务&#xff0c;将互联网技术与汽车保养服务相结合是汽车服务行业强大的必由之路。二者的结合可以让消…

centos7下搭建rabbitmq的开发环境

我们在项目开发的时候都不可避免的会有异步化的问题,比较好的解决方案就是使用消息队列,可供选择的队列产品也有很多,比如轻量级的redis, 当然还有重量级的专业产品rabbitmq,rabbitmq好就好在是用erlang(二郎神)开发的,它那天生的OTP并行计算框架,轻而易举的进程间通…

阿里云ssl免费证书申请

目录为什么申请SSL证书SSL证书申请支持的域名类型ssl免费证书申请过程为什么申请SSL证书 由于web服务部署需要使用https安全协议&#xff0c;因此需要申请相应域名的SSL证书用于部署。测试阶段&#xff0c;为节省成本&#xff0c;使用阿里云提供的免费SSL证书。 SSL证书申请支…

在Web服务器(IIS)上安装SSL证书并绑定网站

以windows server 2016为例 一、安装中间证书 1.下载中间证书文件 如果是RSA加密算法类的&#xff0c;下载此处。 如果是ECC加密算法类的&#xff0c;下载此处。 2.安装 双击下载好的文件进行安装&#xff0c;注意&#xff0c;安装过程中&#xff0c;存储位置要设”为本地…

搜题接口系统

搜题接口系统 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 题库&#xff1a;题库后台&#xff08;点击跳转&#xff09; 题库…

分类预测 | MATLAB实现ELM极限学习机多特征分类预测(二分类)

分类预测 | MATLAB实现ELM极限学习机多特征分类预测(二分类) 目录 分类预测 | MATLAB实现ELM极限学习机多特征分类预测(二分类)效果一览基本介绍程序设计学习总结参考资料效果一览 训练集正确率Accuracy = 89%(445/500) 测试集正确率Accuracy = 86.9565%(60/69) 基本介绍 MATLA…

加载器、反射、xml、DTD、schema、注解、单元测试

一、什么是类加载器 类加载器 类加载器&#xff1a;负责将.class文件&#xff08;存储的物理文件&#xff09;加载在到内存中 类加载的过程 类加载时机 类在什么时候会被加载到内存中呢&#xff1f; 类加载时机 创建类的实例&#xff08;对象&#xff09;调用类的类方法 访问…

微服务自动化【idea插件一键部署】

目录​​​​​​​ 1. Docker结合Idea插件使用 2. 私服搭建 registry 3. 私有仓库的使用 4. idea一键项目部署单独Docker镜像 5. idea一键项目部署Docker标记镜像【私库】 1. Docker结合Idea插件使用 1. 修改Docker服务文件,注释掉"ExecStart"这一行&#x…

火爆的超级人工智能ChatGPT,唯独鄙视中国人

ChatGPT你听说了吗&#xff1f;如果ChatGPT你还没有听说&#xff0c;作为一名程序员&#xff0c;那可能你就out了。使用ChatGPT受阻&#xff0c;为什么不让我们用&#xff1f;它是一款神器&#xff0c;很有意思&#xff0c;当前被大家众星捧月&#xff0c;初次用起来确实很神奇…

微服务框架 SpringCloud微服务架构 22 DSL 查询语法 22.5 相关性算分

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构22 DSL 查询语法22.5 相关性算分22.5.1 复合查询22.5.2 相关性算分22.5.3 …

前端精准测试实践

作者&#xff1a;京东云质量部 背景 随着前端技术发展&#xff0c;已经转变为数据绑定为主流的框架方式&#xff0c;与后端服务一样&#xff0c;前端代码实现也会涉及相互依赖&#xff0c;引用这些场景&#xff0c;那么应该如何准确的评估前端代码改动的影响范围&#xff1f;…

2小时开发《点球射门游戏》,动画演示思路(上),代码已开源

唠两句 最近被疫情关在家&#xff0c;时间多运动少&#xff0c;真的很无聊呀&#xff01;也许是天意为之&#xff0c;居然来世界杯了&#xff0c;虽然这届世界杯很「冷」&#xff0c;但是多少还是为无聊的我们增加了一些无聊的趣事&#xff0c;比如勇哥在等世界杯开幕式的过程…

关于影响编码效果的画质调优总结

1、背景&#xff1a; 调试一个新项目&#xff0c;要求视频帧率为20fps、码率1.5m下&#xff0c;和竞品机对比效果。发现动态场景下的效果比竞品机差距比较明显&#xff08;做的是安防类的监控相机&#xff0c;比较关注视频的效果&#xff09;&#xff0c;比如对着运动的车流时…

红队隧道应用篇之Netsh端口转发(一)

简介 netsh是从Windows 2000开始就有的一个用于配置网络设备的命令行工具 其中netsh interface portproxy是一个配置网络代理的命令, 可以配置ipv4或ipv6的端口转发代理以及双向端口转发代理 学习隧道应用前必须了解的知识:https://blog.csdn.net/xf555er/article/details/1…

softmax回归从零开始实现

1. 引入Fashion-MNIST数据集 并设置数据迭代器的批量大小为256 import torch from IPython import display from d2l import torch as d2lbatch_size 256 # 每次随机读256张图片&#xff0c;返回训练集和测试集的迭代器 train_iter, test_iter d2l.load_data_fashion_mnist…

职场日常:测试人员如何快速熟悉新业务?

身处职场&#xff0c;学习新业务在所难免&#xff0c;尤其是测试人员&#xff0c;具备良好的业务知识是我们做好质量保障的前提&#xff0c;不管是职场「新人」还是「老人」&#xff0c;快速熟悉业务的能力都是不可或缺的&#xff0c;这是我们安身立命的根本。 但&#xff0c;…

【第一章 Linux目录结构,网络连接三种模式,vi和vim】

第一章 Linux目录结构&#xff0c;网络连接三种模式&#xff0c;vi和vim 1.Linux和Unix&#xff1a; ①Unix针对于大型&#xff0c;高性能主机或服务器&#xff1b; ②Linux适用于个人计算机。 2.网络连接的三种模式&#xff1a; ①桥接模式&#xff1a;虚拟系统可以和外部系…

[附源码]JAVA毕业设计师生交流平台(系统+LW)

[附源码]JAVA毕业设计师生交流平台&#xff08;系统LW&#xff09; 项目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&…