swap用于交换两个元素的值

template<class T>
void swap(T &a,T &b)
{T c(a);a=b;b=c;
}

例如交换两个int型变量的值:

#include <iostream>
using namespace std;int main() {int a=1,b=2;swap(a,b);cout<<a<<" "<<b<<endl;  // 2 1return 0;
}

交换两个字符串:

#include <iostream>
#include<string>
using namespace std;int main() {string a="a",b="b";swap(a,b);cout<<a<<" "<<b<<endl;  // b areturn 0;
}

C++ swap用法相关推荐

  1. c++的STL中的map(哈希表)与unordered_map

    map: unordered_map: map: map内部实现了一个红黑树,该结构具有自动排序的功能,因此map内部的所有元素都是有序的 unordered_map:unordered_map内部实 ...

  2. Java 内存 关系_JVM和Linux之间的详细内存关系

    JVM和Linux之间的详细内存关系 在一些具有8g物理内存的服务器上,主要运行Java服务.系统内存分配如下:Java服务的JVM堆大小设置为6g,监视过程大约需要600m,Linux本身使用大约8 ...

  3. C++标准模板库(STL)的容器的底层实现

    STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库. 以上图片来自 C++中的容器分为顺序容器和关联容器,所有容器都是类模板 使用模板 ...

  4. 49. 字母异位词分组【中等】

    题目 给你一个字符串数组,请你将 字母异位词 组合在一起.可以按任意顺序返回结果列表. 字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次. 示例 1: 输入: ...

  5. linux中mkswap命令使用方法,mkswap命令_Linux mkswap 命令用法详解:建立和设置SWAP交换分区...

    mkswap命令用于在一个文件或者设备上建立交换分区.在建立完之后要使用sawpon命令开始使用这个交换区.最后一个选择性参数指定了交换区的大小,但是这个参数是为了向后兼容设置的,没有使用的必要,一般 ...

  6. c语言中swap的意思,C语言中swap的作用和用法?

    慕村225694 swap函数一般是一个程序员自定义函数.通常是实现两个变量数值的交换.比如123int a = 2;int b =3;swap(a,b); //一般用到变量数值交换,交换后a=3 b ...

  7. matlab中swap函数代码,C++ swap函数模板及其用法

    在许多应用程序中,都有交换相同类型的两个变量内容的需要.例如,在对整数数组进行排序时,将需要一个函数来交换两个变量的值,如下所示: void swap(int &a, int &b) ...

  8. 管理员技术(六): 硬盘分区及格式化、 新建一个逻辑卷、调整现有磁盘的分区、扩展逻辑卷的大小、添加一个swap分区...

    一.硬盘分区及格式化 问题: 本例要求熟悉硬盘分区结构,使用fdisk分区工具在磁盘 /dev/vdb 上按以下要求建立分区: 1> 采用默认的 msdos 分区模式         2> ...

  9. Go 学习笔记(26)— Go 习惯用法(多值赋值,短变量声明和赋值,简写模式、多值返回函数、comma,ok 表达式、传值规则)

    1. 多值赋值 可以一次性声明多个变量,并可以在声明时赋值,而且可以省略类型,但必须遵守一定的规则要求. package main import "fmt"func main() ...

最新文章

  1. java中常见数据库字段类型与java.sql.Types的对应
  2. .net 中的DllImport
  3. 用bcp实现的存储过程 导整个数据库
  4. CF Round #722 (Div. 2) C. Parsa‘s Humongous Tree(树形dp)
  5. 二叉树:层序遍历登场!
  6. 批量doc转docx方法,使用软件、插件
  7. jQuery ajax教程
  8. 鸿蒙系统如何添加桌面小程序,微信Windows版更新至3.0:批量管理联系人,小程序可添加至桌面...
  9. vivo X9s的USB调试模式在哪里,打开vivo X9sUSB调试模式的经验
  10. 开启CPU虚拟化功能
  11. E/art﹕Failed sending reply to debugger: Broken pipe的解决方法
  12. Linux发行版本及其区别
  13. linux内核测试指南 第一章
  14. 如何使用IOS自动化测试工具UIAutomation
  15. 长期提供orkut / gmail 邀请
  16. C++学习力扣刷题错题本
  17. 用神经网络表示与逻辑,神经网络实现逻辑运算
  18. linux 板卡驱动开源项目Comedi使用编译流程
  19. Linux三剑客老三 grep
  20. linux安装Oracle 11g详解

热门文章

  1. 射频功率计介绍——一款超紧凑的多功能射频仪器
  2. 数据结构:双栈共享的初始化、入栈、出栈
  3. 理论力学类毕业论文文献包含哪些?
  4. 从事手机软件开发需要掌握什么知识
  5. 【泛函分析】Riemann-Stieltjes 积分
  6. 说说计算机有哪些用途,电脑对你有什么用处?写5个英语句子,说明电脑对你的重要性...
  7. bug记录--------JSON parse error:Cannot deserialize value of type `com.test.EnumTest` from String
  8. 一,SpringMVC入门
  9. ubuntu 查看mysql数据库_ubuntu mysql查看数据库
  10. Win10系统QQ无法登录,00001错误解决办法