位置: 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打不出字怎么回事)

  • 抖音怎么玩(抖音怎么玩的步骤 入门教程)

    抖音怎么玩(抖音怎么玩的步骤 入门教程)

  • 华为畅享9有指纹解锁吗(华为畅享9有指南针吗)

    华为畅享9有指纹解锁吗(华为畅享9有指南针吗)

  • qq资料卡怎么设置全屏背景(qq资料卡怎么设置动态视频)

    qq资料卡怎么设置全屏背景(qq资料卡怎么设置动态视频)

  • 计算机中最直接最基本的操作是对什么的操作(计算机中最直接、最基本的操作就是对( )位的操作)

    计算机中最直接最基本的操作是对什么的操作(计算机中最直接、最基本的操作就是对( )位的操作)

  • 微信只能听筒模式了怎么办(微信只能听听筒)

    微信只能听筒模式了怎么办(微信只能听听筒)

  • 计算机分类汇总怎么操作(计算机分类汇总怎么做)

    计算机分类汇总怎么操作(计算机分类汇总怎么做)

  • 卡贴不弹窗怎么激活(卡贴不弹窗怎么办)

    卡贴不弹窗怎么激活(卡贴不弹窗怎么办)

  • 苹果怎么边视频边开手电筒(苹果怎么边视频边看其他的)

    苹果怎么边视频边开手电筒(苹果怎么边视频边看其他的)

  • 4g和2g可以双通道吗(4g能用2g网络)

    4g和2g可以双通道吗(4g能用2g网络)

  • beats闪烁连不上(beats耳机闪灯连不上)

    beats闪烁连不上(beats耳机闪灯连不上)

  • 被拉黑还能收到短信吗(被拉黑还能收到验证消息吗)

    被拉黑还能收到短信吗(被拉黑还能收到验证消息吗)

  • 陌陌互关多久才能视频语音(陌陌互关多久才能语音)

    陌陌互关多久才能视频语音(陌陌互关多久才能语音)

  • qq不加好友怎么私聊(qq不加好友怎么看聊天记录)

    qq不加好友怎么私聊(qq不加好友怎么看聊天记录)

  • qq号被盗了怎么找回来手机号码换了(qq号被盗了怎么办手机号换了)

    qq号被盗了怎么找回来手机号码换了(qq号被盗了怎么办手机号换了)

  • 外星人主机值得买吗(外星人主机性价比高吗)

    外星人主机值得买吗(外星人主机性价比高吗)

  • ps柔光在哪(ps柔光效果怎么做)

    ps柔光在哪(ps柔光效果怎么做)

  • 手提电脑调亮度怎么调(手提电脑调亮度屏幕就闪屏怎么回事)

    手提电脑调亮度怎么调(手提电脑调亮度屏幕就闪屏怎么回事)

  • 手机怎么新建txt

    手机怎么新建txt

  • iphone 11支持双卡吗(iphone11支持双卡双待吗)

    iphone 11支持双卡吗(iphone11支持双卡双待吗)

  • 快手青年模式怎么关闭(快手青年模式怎么取消,开启FNC功能在哪里)

    快手青年模式怎么关闭(快手青年模式怎么取消,开启FNC功能在哪里)

  • 快手作品审核要多久(快手作品审核要多久通过)

    快手作品审核要多久(快手作品审核要多久通过)

  • 快手主页如何添加位置和电话(快手主页如何添加店铺位置)

    快手主页如何添加位置和电话(快手主页如何添加店铺位置)

  • qq怎么设置wifi在线(qq里怎么设置wifi在线)

    qq怎么设置wifi在线(qq里怎么设置wifi在线)

  • 快手有赞订单怎么申请退款(快手有赞订单怎么没了)

    快手有赞订单怎么申请退款(快手有赞订单怎么没了)

  • 美图手机录屏功能在哪里(美图手机录屏功能怎么用)

    美图手机录屏功能在哪里(美图手机录屏功能怎么用)

  • qq特别关心铃声修改(QQ特别关心铃声怎么取消)

    qq特别关心铃声修改(QQ特别关心铃声怎么取消)

  • cat5e支持多少宽带(cat5e支持200兆吗)

    cat5e支持多少宽带(cat5e支持200兆吗)

  • 怎么解决笔记本风扇声音大的问题?(怎么解决笔记本电脑卡顿问题)

    怎么解决笔记本风扇声音大的问题?(怎么解决笔记本电脑卡顿问题)

  • 通过宏封装实现std::format编译期检查参数数量是否一致(怎么实现宏的功能)

    通过宏封装实现std::format编译期检查参数数量是否一致(怎么实现宏的功能)

  • 公司买的电器可以抵扣吗
  • 加计抵减税额账务处理
  • 电子承兑逾期提示付款说明怎么写
  • 合同每三个月付一次款
  • 什么是居民纳税人
  • 销售折扣怎么开
  • 捐赠支出和赞助支出的区别
  • 作为展示用的物品
  • 员工借款可以直接转账吗
  • 全资子公司向母公司划转资产 土地增值税
  • 设备折旧后的价值
  • 抵免税款收益算其他收益吗
  • 股东收回投资要交税吗
  • 事业单位转账支票管理
  • 境外企业在境外提供劳务
  • 银行存款日记账和现金日记账的区别
  • 税前金额是不含税金额
  • 全年累计应税所得额
  • 开具房租发票备注多少
  • 失控发票如何转出
  • 打包贷款和出口信贷的区别和联系
  • b4纸张尺寸
  • 小米电视连不上路由器怎么回事
  • 已经计提的税金怎么做账
  • 开机提示lsass应用程序出错
  • 预付账款属于资产性质的账户
  • 厂房维修是否可以退税
  • 政府性基金收入来源
  • js时间格式转换时间戳
  • 支付宝语音提示在哪里打开
  • 若依框架权限控制
  • 累计折旧累计摊销属于现金流吗
  • 三十而已 1
  • java基本框架
  • dedecms上传视频
  • 大学生创新创业平台
  • 交通费用怎么报销
  • 发票已经勾选却统计不出来
  • 起重机属于固定资产中什么设备类型
  • 小规模纳税人要报个人所得税吗
  • 物业广告怎么收费
  • sql查询出各科成绩单
  • 人力资本收入
  • 个体工商户纳税人类型怎么填
  • 装修公司财务报表图片
  • 固定资产报废能否继续使用
  • 税收完税证明怎么做账
  • 保险返点返20怎么算
  • 只有进项税额没有销项税额怎么结转
  • 其他业务支出的借贷方向
  • 小规模纳税人本期应纳税额
  • 印花税退还
  • 市场营销策划开票品目
  • 企业开发有多个产品
  • 购买金税盘的分录
  • 仓库货架应该计入什么科目
  • 税法规定固定资产最低折旧年限
  • 一条的句子怎么写
  • 软碟通可以制作uefi启动盘吗
  • 免激活合法使用的软件
  • ubuntu更新软件
  • 删除 ubuntu
  • hda linux
  • 如何在linux中安装软件
  • win10系统字体不清晰
  • dos命令批处理
  • cssdeck
  • 无缝广告植入
  • python如何用
  • 最基本的实现进程是
  • js函数function用法
  • Python selenium 父子、兄弟、相邻节点定位方式详解
  • 怎样下载金税盘
  • 财政短信是什么意思
  • 十月报税2021
  • 郝姓家谱辈分查询
  • 开票内容 大类
  • 个体户 零申报
  • 财务制度备案表单怎么填
  • 烟台税务系统缴费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设