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

  • 税收契子怎么算
  • 专票红冲要不要收回发票联
  • 新公司实收资本
  • 国家税务定额发票票样
  • 小企业会计准则是什么意思
  • 居民企业股权转让所得
  • 增值税专用发票可以开电子发票吗
  • 商品盘点短缺和溢余的核算
  • 发票代码和发票号码是什么
  • 会计政策变更与会计估计的审计
  • 退货手续费账务怎么处理
  • 人防工程被出售,谁承担责任
  • 业务协作费是什么
  • 减免税款如何申报
  • 年末会计做账怎样少交企业所得税呢?
  • 城建税教育费附加税率怎么计算
  • 小规模纳税人未达起征点增值税处理
  • 坏账准备需要做账吗
  • 初级考试备考计划
  • 固定资产借方表示什么意思
  • 实物福利计入工资总额
  • 个体工商户给员工交社保属于职工社保吗
  • 美团代收是什么意思
  • 公司章程认缴时效是多久
  • realjbox.exe - realjbox是什么进程 作用是什么
  • 特种商品劳务税
  • 金融机构通过
  • 提高stable diffusion速度
  • php yield 异步
  • hpzts04.exe是什么进程 有什么作用 hpzts04进程查询
  • php网页安全认证是什么
  • 非货币性资产交换是企业经常发生的
  • php单例模式demo
  • 对于个体工商户不需要满足累计经营三个月以上的条件
  • 融资购入的固定资产如何记账
  • php的session
  • 女方结婚申请
  • 补缴以前年度公积金账务处理
  • 公司发放工作服账务处理
  • js继承的几种方式 各有什么优缺点
  • 红字更正法和红字冲销的区别
  • 期末存货资产结存金额
  • 个人劳务费需交什么税种
  • 企业注销时应收账款需要交税吗
  • 进项税抵增值税
  • php生成器和迭代器理解
  • 福利费是工资的14%,这里工资是税前工资吗
  • 减免税款的会计分录当月做吗
  • 收付实现制的适用范围
  • 贴现的概念及计算公式
  • 临时设施的种类有哪些
  • 接待客户的住宿费进项税能否抵扣
  • 购入厂部用小汽车一部是管理费用吗
  • 单品毛利润计算方法
  • 随同产品销售不单独计价包装物如何进行账务处理?
  • 月末怎么计提摊销和结转
  • 企业研发支出的核算内容
  • 增值税专用发票使用规定 最新
  • 医药进销存管理系统
  • 劳务费需要通过应付职工薪酬科目核算吗
  • win10设置设备
  • xp蓝屏事件
  • win10应用商店更新软件更新不了
  • wind10怎么重置网络
  • windows102021年更新
  • win8兼容性比win7好吗
  • cocos2dx键盘控制移动
  • 浏览器如何批量打开网址
  • cocos2dx 3.3 quick lua 实现返回键退出程序
  • ie在支持ftp的功能方面
  • js字符串函数
  • javascript常用函数大全
  • jquery移动版
  • 企业所得税汇总纳税备案表
  • 扬州地方税务局在哪
  • 如何连续打印单据
  • 教育培训行业的前景
  • 车船使用税税
  • 为什么有的企业在企查查上查不到
  • 公司处理固定资产汽车怎么交税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设