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

  • mate30pro指纹解锁颜色可以换吗(mate30pro指纹解锁效果)

    mate30pro指纹解锁颜色可以换吗(mate30pro指纹解锁效果)

  • vivov1922a是什么手机(vivov1981a是什么意思)

    vivov1922a是什么手机(vivov1981a是什么意思)

  • 一体机的麦克风在哪里(一体机的麦克风能直接使用吗)

    一体机的麦克风在哪里(一体机的麦克风能直接使用吗)

  • plc软件有哪些(plc软件有哪几种)

    plc软件有哪些(plc软件有哪几种)

  • 小米CC9和美图壳通用吗(小米cc9和美图壳一样吗)

    小米CC9和美图壳通用吗(小米cc9和美图壳一样吗)

  • 云课堂有电脑版吗(云课堂电脑版怎么下载)

    云课堂有电脑版吗(云课堂电脑版怎么下载)

  • 手机号码拉黑名单了能收到短信吗(手机号码拉黑名单后删除了还能打通吗)

    手机号码拉黑名单了能收到短信吗(手机号码拉黑名单后删除了还能打通吗)

  • 电脑不装硬盘开机后果(电脑不装硬盘可以进bios吗)

    电脑不装硬盘开机后果(电脑不装硬盘可以进bios吗)

  • shot on mi8什么手机(shot on mi 8 ud ai dual camera)

    shot on mi8什么手机(shot on mi 8 ud ai dual camera)

  • office没激活有什么影响(office没激活什么样)

    office没激活有什么影响(office没激活什么样)

  • 苹果输入法怎么切换中英文(苹果输入法怎么换行)

    苹果输入法怎么切换中英文(苹果输入法怎么换行)

  • p40支持5g吗(p40支持广电5g吗)

    p40支持5g吗(p40支持广电5g吗)

  • oppor11更新后怎么没声音(oppor11s手机更新的版本)

    oppor11更新后怎么没声音(oppor11s手机更新的版本)

  • 微信重启是怎么回事呢(微信重启是怎么回事,能不能恢复信息)

    微信重启是怎么回事呢(微信重启是怎么回事,能不能恢复信息)

  • 苹果手机怎么下载音乐(苹果手机怎么下载来电铃声)

    苹果手机怎么下载音乐(苹果手机怎么下载来电铃声)

  • qq音乐专属铭牌是什么(qq音乐专属铭牌 播放器怎么关)

    qq音乐专属铭牌是什么(qq音乐专属铭牌 播放器怎么关)

  • 微信办理的etc多久可以收到(微信办理的etc多久能用)

    微信办理的etc多久可以收到(微信办理的etc多久能用)

  • nga注册收不到验证码(nga玩家社区收不到验证码)

    nga注册收不到验证码(nga玩家社区收不到验证码)

  • 抖音时间怎么调(抖音怎么调倍速)

    抖音时间怎么调(抖音怎么调倍速)

  • 苹果手机拍照镜像关闭(苹果手机拍照镜头抖动什么原因)

    苹果手机拍照镜像关闭(苹果手机拍照镜头抖动什么原因)

  • 苹果手机粘贴板在哪里(苹果手机粘贴板提示怎么关)

    苹果手机粘贴板在哪里(苹果手机粘贴板提示怎么关)

  • 华为p30与p20对比(华为p30与p20对比有什么不同)

    华为p30与p20对比(华为p30与p20对比有什么不同)

  • 【003】-Cesium中加载大规模数据稳定流畅之性能优化思路(cesium description)

    【003】-Cesium中加载大规模数据稳定流畅之性能优化思路(cesium description)

  • 史上最详细vue的入门基础(vuexl)

    史上最详细vue的入门基础(vuexl)

  • 小规模纳税人要做账吗
  • 什么情况下不能做近视激光手术
  • 土地出让金会涨价吗
  • 小规模未达起征点免税分录
  • 怎么算毛利润计算公式
  • 出租车发票可以重新开吗
  • 以不动产投资入股增值税
  • 2019个体户经营所得税税率表
  • 金融服务征税范围包括哪些
  • 上期留抵税额如何计算
  • 一般纳税人税率2023
  • 房产税征税税率
  • 附加税减免税会计处理怎么做?
  • 开发商按揭贷款担保责任有哪些
  • 结转待转销项税额
  • 专用发票的税票号码看哪里?
  • 适用简易计税方法的口诀
  • 非直接结算是什么意思
  • 抄税没成功
  • 免交的增值税计入什么科目
  • 季度利润太高怎么计算
  • 现金采购合理吗
  • 损益类账户包括成本类吗
  • 三大期间费用属于什么类
  • 重置组策略命令
  • 在win7系统中将打开窗口拖到屏幕顶端
  • 自开和代开增值税专用发票盖章要求有不同吗?
  • win10资源管理器在哪里找
  • 汽车维修的发票的购买方
  • 酒店免费提供哪些服务
  • 企业间合作建房且建成后自用
  • 社会保险费征缴暂行条例是谁制定
  • php 正则
  • 缴纳以前年度房产税会计分录
  • 个体户缴纳生产经营所得税
  • 比斯蒂荒野上的“外星孵化场”,新墨西哥州 (© Ian Shive/Tandem Stills + Motion)
  • 纳汉双语
  • 技术knowhow
  • dir命令参数
  • 到对公账户的钱能立马转出去吗
  • 个人出租租房交什么税
  • 融资租赁租车
  • MYSQL数据库设计与应用第二版
  • 发票验旧有时间规定吗
  • 劳务合同如果不发工资怎么办
  • 公司注册登记需要多少钱
  • 预收款开发票,不确认收入可以吗?
  • 企业研发费用率怎么算
  • 权益性投资收益确认收入时间
  • 有差价的商品发票怎么开
  • 职工福利费税前扣除标准是应发工资还是实发工资
  • 企业增值税额
  • 购买材料时如果没有取得购买材料的发票
  • 股东如何收回投资款
  • 房地产开发企业会计制度
  • 小企业会计准则2023电子版
  • 多开税票的钱怎么算
  • 总公司与分公司的关系
  • 固定资产包括哪些东西
  • 预收账款为什么不是货币性项目
  • 备查账目
  • 建账有哪些步骤,每个步骤有哪些注意事项
  • sql数据库检查
  • mysql主从复制作用
  • win8系统安装的软件在哪里
  • VMware虚拟机安装Android系统
  • 移动宽带解绑怎么办理
  • unity调整地形高度
  • js中如何实现数字相加
  • python把html页面生成图片
  • portainer集群管理
  • Bullet(Cocos2dx)之创建地形
  • unity3d有什么用
  • Unity导出的webgl能做AR吗
  • javascript对象和方法
  • androidstudio安装gradle不成功
  • 办税服务厅限时办结制度
  • 报纸的增值税税目是什么
  • 纳税人有什么影响
  • 安徽省税务局发票真伪查询平台
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设