位置: IT常识 - 正文

C++ 一种交换两个数的思路(c++交换语句)

编辑:rootadmin
在 Lua 或者 Python 中可以使用多值赋值语句来交换两个数。例如:a, b = b, a。在 C++ 中有没有类似的操作? 先解析一下多值赋值的原理,a, b = b, a 等价于 t1, t2 = b, a a, b = t1, t2 可以看到多值赋值还是用到了中间变量,而且还是两个。想到 ...

推荐整理分享C++ 一种交换两个数的思路(c++交换语句),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:c++交换两个数的值,c++中交换函数,c++中交换两个变量的值,c++交换两个字符串,c++交换两数,c++中交换两个变量的值,c++交换两个变量的值,不能使用中间变量,c++交换两个变量的值,不能使用中间变量,内容如对您有帮助,希望把文章链接给更多的朋友!

在 Lua 或者 Python 中可以使用多值赋值语句来交换两个数。例如:a, b = b, a。在 C++ 中有没有类似的操作?

C++ 一种交换两个数的思路(c++交换语句)

先解析一下多值赋值的原理,a, b = b, a 等价于

t1, t2 = b, aa, b = t1, t2

可以看到多值赋值还是用到了中间变量,而且还是两个。想到两个变量,可以联想到 C++ 中的 std::pair,可以用 std::make_pair(b, a) 构造中间变量,来完成上述第 1 条语句的功能。中间变量是 std::pair 类型。如何将 std::pair 的两个元素赋值给 a 和 b ? 可以利用 std::tie 对 std::pair 进行 unpack。示例代码如下:

#include <iostream>#include <tuple>int main(){ int a = 1, b = 2; std::tie(a, b) = std::make_pair(b, a); std::cout << a << " " << b << std::endl;}

成功输出:

2 1

这种方法也和多值赋值一样可以适用于多个数的交换。例如让 a、b、c、d 四个数左循环交换一次(全部往左边挪一个位置)。示例代码如下:

#include <iostream>#include <tuple>int main(){ int a = 1, b = 2, c = 3, d = 4; std::tie(a, b, c, d) = std::make_tuple(b, c, d, a); std::cout << a << " " << b << " " << c << " " << d << std::endl;}

成功输出:

2 3 4 1
本文链接地址:https://www.jiuchutong.com/zhishi/303173.html 转载请保留说明!

上一篇:如何使用python绘制折线图?(用python绘制)

下一篇:ps打不出字但图层有字(ps打不出字怎么回事)

  • 欢太科技怎么解除实名认证(欢太科技怎么解除扣费)

    欢太科技怎么解除实名认证(欢太科技怎么解除扣费)

  • win11更新怎么绕过tpm验证(windows11更新怎么永久关闭)

    win11更新怎么绕过tpm验证(windows11更新怎么永久关闭)

  • vivo手机怎么下载简易桌面APP(vivo手机怎么下载歌曲到u盘)

    vivo手机怎么下载简易桌面APP(vivo手机怎么下载歌曲到u盘)

  • 企业微信未处理是什么意思(企业微信显示违规怎么办)

    企业微信未处理是什么意思(企业微信显示违规怎么办)

  • icloud空间不能降级(icloud储存空间为什么降级不了)

    icloud空间不能降级(icloud储存空间为什么降级不了)

  • 网络主要划分为(网络类型划分为)

    网络主要划分为(网络类型划分为)

  • excel表格不对称怎么做(表格中不对称的表格怎么做)

    excel表格不对称怎么做(表格中不对称的表格怎么做)

  • 滴滴投诉率多久更新一次(滴滴投诉率0.1会有啥影响)

    滴滴投诉率多久更新一次(滴滴投诉率0.1会有啥影响)

  • 怎么关闭空间访问权限(怎么关闭空间访问申请)

    怎么关闭空间访问权限(怎么关闭空间访问申请)

  • 三星手机安装微信提示应用未安装(三星手机安装微信不兼容)

    三星手机安装微信提示应用未安装(三星手机安装微信不兼容)

  • 网络协议的组成要素有(网络协议的组成要素)

    网络协议的组成要素有(网络协议的组成要素)

  • mibox4是什么设备(mibox2)

    mibox4是什么设备(mibox2)

  • 怎样在微信上打开微云(怎样在微信上打印文件)

    怎样在微信上打开微云(怎样在微信上打印文件)

  • 抖音手机直播怎么放音乐(抖音手机直播怎么关闭麦克风声音)

    抖音手机直播怎么放音乐(抖音手机直播怎么关闭麦克风声音)

  • 拼多多怎么取消自动连抽(拼多多怎么取消免密支付)

    拼多多怎么取消自动连抽(拼多多怎么取消免密支付)

  • 荣耀9有人脸识别功能吗(荣耀有人脸识别怎么关机)

    荣耀9有人脸识别功能吗(荣耀有人脸识别怎么关机)

  • 如何获得七天网络授权(七天网怎么登录进入)

    如何获得七天网络授权(七天网怎么登录进入)

  • 小米手机怎么关闭微信振动(小米手机怎么关空调)

    小米手机怎么关闭微信振动(小米手机怎么关空调)

  • 小爱同学怎么连网易云(小爱同学怎么连接空调)

    小爱同学怎么连网易云(小爱同学怎么连接空调)

  • 苹果8充电没反应(苹果8充电没反应咋回事)

    苹果8充电没反应(苹果8充电没反应咋回事)

  • ios快捷指令怎么用(ios快捷指令怎么使用)

    ios快捷指令怎么用(ios快捷指令怎么使用)

  • 随机附赠的Windows如何更换微软帐户(随机赠送是啥意思)

    随机附赠的Windows如何更换微软帐户(随机赠送是啥意思)

  • Win10 20H2 LSASS.exe自动重启故障已得到修复

    Win10 20H2 LSASS.exe自动重启故障已得到修复

  • Vite4 + Vue3 项目打包并发布Nginx服务器 (前端必看)(vue3.0 vite)

    Vite4 + Vue3 项目打包并发布Nginx服务器 (前端必看)(vue3.0 vite)

  • 单独计税的年终奖怎么算
  • 折旧年限与税法有关吗
  • 开具增值税发票未报送是什么意思?
  • 出纳需不需要填工作单位
  • 企业所得税营业收入是含税还是不含税
  • 外商投资企业啥意思
  • 在建工程转固定资产账务处理
  • 电子申报率较差的原因
  • 财政拨付的研发费用
  • 不交住房公积金了能提取出来吗
  • 采用托收承付方式怎么做分录?
  • 经济纠纷引发的刑事案件
  • 处置子公司的收益
  • 结转劳务费
  • 企业临时账户是什么意思
  • 出口样品收汇不报关会计分录
  • 企业自用房要交契税吗
  • 销项负数发票怎么冲减成本
  • 拒绝税务检查的情形
  • 商业企业取得农产品税收
  • 合同预付款要不要开发票?
  • 自产自销农产品企业所得税
  • 如何申报固定资产投资
  • 开票软件的地址怎么修改
  • 计算应纳税所得额时可以扣除的项目有
  • 华为鸿蒙双击背面打开健康码
  • 国家信用信息公司系公示
  • 如何pingip地址
  • 新win10浏览器
  • dvdram是什么意思
  • 税款缴纳期初未缴税额
  • 建造一座污水处理池投资了45万元
  • 在途物资运费会计科目怎么写
  • 双层for循环的程序流程图
  • 违反发票管理规定2次公告内容
  • 产品成本核算方法
  • vue项目部署上线 需要做哪些准备
  • 领航ct
  • 2021年前端面试
  • 现销和赊销对利润质量的影响
  • python 子进程通信
  • cmd 访问mysql
  • 商业承兑汇票如何追索
  • db2使用教程
  • sa密码不满足强密码要求
  • mysql文件更改存放路径
  • 收到生育津贴会计分离
  • 专利权的入账价值包括资本化支出吗
  • 会计上需要结转的科目
  • 低值易耗品费用计入产品成本的方式有哪几种
  • 销售货款未收到会计分录
  • 没有到位的注资公司
  • 未确认融资费用摊销额怎么计算
  • 获取sql表达式时错误
  • mysql完整教程
  • win7系统修改
  • win7系统管理在哪
  • wlan device什么意思
  • WIN10系统如何修复
  • linux svn管理工具
  • win7怎么开不了机
  • win8整理磁盘碎片的步骤
  • window10 wifi打不开
  • Win10 PC版 Build 14328上手体验视频评测
  • linux文件一般放哪里
  • 炉石传说开发人员卡牌
  • js实现日历效果
  • linux shell脚本编程100例
  • 如何用css画三角形
  • js中的冒泡排序原理
  • 我吐槽你
  • macos安装过程
  • shell监控进程
  • golang 和 python
  • javascript数组的本质
  • js对象的常用方法
  • 长春国税局科员工资是多少
  • 居民个人从境外公司获得分红
  • 新能源车需要缴纳购置税吗?
  • 亏损可以结转吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设