C++中应用于for循环的auto机制,有引用和非引用两种操作
因为今天在做leetcode上每日一题时碰到这样一种情况,我用for(auto a:A)
来对一个二维数组进行值的修改时,发现它并不作用在原数组上,就是修改后,原数组的值仍然无变化,于是上网查了查:
其中一小段代码的功能就是将二维数组中的首元素为0的行进行翻转(每个元素0变1,1变0)
void matrixScore(vector<vector<int>> &A)
{int len_row = A.size(), len_col = A[0].size();for (auto a : A){if (!a[0]){for (int j = 0; j < len_col; j++){if (a[j])a[j] = 0;elsea[j] = 1;}}}
}int main()
{vector<vector<int>> test = {{0, 0, 1, 1}, {1, 0, 1, 0}, {1, 1, 0, 0}};matrixScore(test);return 0;
}
当我debug时:
1°刚开始进入循环:
因为第一个元素为0,这里我要对第一行进行翻转;
2°,当我的j=1时,此时已经对第一个元素进行翻转了:
会发现我的a数组确实修改了,但是原数组A并未修改;
这种不加引用的修改是不会作用在原数组上的;
在我加上引用后:
会发现他的确在原数组上修改了!
C++中应用于for循环的auto机制,有引用和非引用两种操作相关推荐
- 冷却水的循环方式有哪几种_循环冷却水系统,按照通风方式可分为 和 两种。...
循环冷却水系统,按照通风方式可分为 和 两种. 答: 自然通风冷却系统 机械通风冷却系统 创业过程是一个充满了不确定性的过程,团队中可能因为能力.观念等多种原因不断有人在离开,同时也有人在要求加入.因 ...
- Mybatis中的大于、小于、大于等于、小于等于、不等于的两种写法
Mybatis中的大于.小于.大于等于.小于等于.不等于的两种写法 在Mybatis的使用中,会使用到xml进行sql的编写,当遇到需要比较的时候,会发现直接使用 > 是不可行的,那么就需要使用 ...
- 解析广泛应用于NLP的自注意力机制(附论文、源码)
来源:PaperWeekly 作者:罗凌 本文共3200字,建议阅读9分钟. 本文基于深度学习的注意力(Attention)机制与你分享一些学习总结. 近年来,注意力(Attention)机制被广泛应 ...
- vs 中使用32 位mysql_vs2010连接mysql数据库(含win32和x64两种平台)
数据库安装: 此处有两种安装方式,第一种使用xxx.msi图形化安装方式,和普通的exe软件安装方式一样,按照默认选项一直下一步就可以.mysql下载地址为http://dev.mysql.com/d ...
- win10中找不到www服务器,Windows10 cs搜不到局域网的两种解决方法
CS是一款非常受欢迎的对战单机游戏,能够给我们带来不俗的视觉及听觉体验,而在同个局域网中的用户也可以进行即时对战,非常的有趣.不过,近来一些使用Win10系统的用户反馈在局域网中和室友玩cs的时候搜不 ...
- Vue 菜单路由(router)只替换对应主页面中内容,而不是整个home页面的router index.js的两种设置方法
在系统登录到系统主页面之后,通过点击不同的菜单动态在主页面内替换相应的内容,而保持菜单栏和标题栏内容不变,可以通过以下两种方式实现,两种方式的原理都是相同的, 方式一:在路由设置时,设置一个home路 ...
- 密码学——Hill体制密码中已知明文M和密文C求解密钥矩阵K的两种方法之逆矩阵求解法和待定系数求解法
本文主要解决古典密码中的Hill体制密码在已知明文M和密文C的情况下求解密钥矩阵K的两种方法:①求逆矩阵②待定系数法. 如若不懂Hill体制的古典密码可以参照我上一篇文章密码学--几种典型的古典密码体 ...
- java mvc中重复提交表单,spring mvc 防止重复提交表单的两种方法,推荐第二种
第一种方法:判断session中保存的token 比较麻烦,每次在提交表单时都必须传入上次的token.而且当一个页面使用ajax时,多个表单提交就会有问题. 注解Token代码: package c ...
- 更改qq服务器中文件夹权限,win10QQ提示安装路径无效您没有权限的两种解决办法...
腾讯视频/爱奇艺/优酷/外卖 充值4折起 今天给小伙伴安装QQ,居然提示安装路径无效您没有权限,我想是不是那个问题呢?经过检查终于搞定,这就分享给大家. 方法一: 1.我们重新运行QQ安装程序,并不是 ...
最新文章
- 关闭Struts2中s:property的HTML自动转码
- fasta.img 是什么文件?
- 白话Elasticsearch41-深入聚合数据分析之案例实战__过滤+聚合:统计价格大于2000的电视平均价格
- 我的C++学习历程(old)
- 信息系统项目管理师-组织级项目管理与大型项目管理知识点
- android系统可以破吗,你的手机系统破到什么程度?一键查安卓漏洞
- golang调试工具Delve
- css3弧形跑道效果_Css 实现漂亮弧形
- python 初始化一个4维向量_看图学NumPy:掌握n维数组基础知识点,看这一篇就够了...
- React 16 Jest ES6 Class Mocks(使用ES6语法类的模拟) 实例三、四
- react脚手架 显示npm不知内部命令_第一章 React开发环境搭建
- android 柱状图_安卓控件 仪表盘控件 柱状图控件 曲线控件 xamarin.android 分类器 瓶子控件 报警控件 水箱控件 进度条控件等...
- IIS的ISAPI接口简介
- 0806 07 08 09 12上午数据库
- 如何将flac文件转换为mp3文件?
- 全国高校计算机能力挑战赛真题(一)
- (附源码)springboot金融新闻信息服务系统 毕业设计651450
- 如何对华为网络产品选型
- php挂机源码,织音QQ助手QQ互赞挂机开源版源码
- 大数据小项目之电视收视率企业项目06
热门文章
- HDU-1151 Air Raid
- HTML5动画软件工具编辑器 HTML5动画分类 工具推荐
- truncate,delete,drop的异同点
- 互利网上数字金融典型场景: 网络营销
- LeetCode 792. 匹配子序列的单词数(Number of Matching Subsequences)
- Java Redis 做分布式锁
- 【开200数组解决二叉搜索树的建立、遍历】PAT-L3-016. 二叉搜索树的结构——不用链表来搞定二叉搜索树...
- 《面向对象程序设计》课程作业 (三)
- 启动Tomcat服务时,出现org.apache.catalina.startup.VersionLoggerListener报错
- ZOJ-2008-Invitation Cards(dijkstra)