关于范围for语句的使用
文章目录
- 使用范围for语句处理多维数组
使用范围for语句处理多维数组
举个例子,使用范围for语句输出多维数组(ia)所有值:
for (const auto &row : ia)for (auto col : row)cout << col << endl;
本循环中并没有任何写操作,可仍将外层循环的控制变量声明成了引用类型,这是为了避免数组被自动转换成指针。如果不用引用类型,则循环如下述形式:
for (auto row : ia)for (auto col : row)
程序无法通过编译。第一个循环想要遍历ia的所有元素(实际上是大小为4的数组),但由于row不是引用类型,所以编译器初始化row时会自动将这些数组形式的元素转换成指向数组内首元素的指针。这样得到的row类型就是int*,显然内层循环“for (auto col : row)”就不合法了,其含义成了编译器试图在一个int*内遍历,和程序的初衷相去甚远。
因此,要使用范围for语句处理多维数组,除了最内层的循环外,其他所有循环的控制变量都应该是引用类型。
关于范围for语句的使用相关推荐
- Python 上下文管理器和 with 语句
1. 上下文管理器概念 什么是 Python 的上下文管理器(Context Managers)呢? 含有 __enter__ 和 __exit__ 方法的对象就是.上下文管理器存在的目的是管理 ...
- Go 学习笔记(62)— Go 中 switch 语句中的 switch 表达式和 case 表达式之间的关系
switch 语句对 switch 表达式的结果类型,以及各个 case 表达式中子表达式的结果类型都是有要求的. 毕竟,在 Go 语言中,只有类型相同的值之间才有可能被允许进行判等操作. 1. sw ...
- Linux shell 学习笔记(9)— 循环语句(for、while)以及更改字段分隔符
1. for 语句 bash shell 中 for 命令的基本格式如以下,$var 变量包含着这次迭代对应的当前列表项中的值. for var in list docommands done 也可以 ...
- Linux shell 学习笔记(8)— 使用结构化命令(if-then 语句、数值比较、字符串比较、文件比较、case 语句)
1. 使用 if-then 语句 最基本的结构化命令就是if-then语句.if-then语句有如下格式. if command then commands fi 或者 if command; t ...
- Python学习--not语句
布尔型True和False,not True为False,not False为True,以下是几个常用的not的用法: (1) not与逻辑判断句if连用,代表not后面的表达式为False的时候,执 ...
- 合肥工业大学—SQL Server数据库实验八:使用聚集函数的SELECT语句
在数据库EDUC中用SQL语句实现如下查询: 1) 查询学生的总人数 -- 查询学生的总人数 select count(*) from student select count(1) from stu ...
- 合肥工业大学—SQL Server数据库实验三:SQL语句创建和删除基本表
SQL语句创建和删除基本表 1. 编写6个基本表 2. 修改基本表结构,完整性约束条件 3. 用Drop table 语句删除基本表 1. 编写6个基本表 设有简单教学管理的6个关系模式如下: 系(系 ...
- Python:模拟登录、点击和执行 JavaScript 语句案例
案例一:网站模拟登录 # douban.pyfrom selenium import webdriver from selenium.webdriver.common.keys import Keys ...
- 怎么查找执行比较慢的sql语句
一.MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句 1,slow_query_log 这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句. 2,long_query_tim ...
- C++ break语句,continue语句,goto语句
break 语句的作用: 跳出当前循环,中断当前循环 #include <iostream> using namespace std; int main() {for (int i = 0 ...
最新文章
- nbalive05 editor 正式版
- Android Jetpack组件App Startup简析
- 【2556】传说中的数据结构 sdutOJ
- Firefox的input缓存
- ios APP开发简单实例
- ionic开发ios app
- Redis源码学习-MasterSlave的命令交互
- 你是在用计算机算你的人生经历吗,计算机人生规划
- P1035 [NOIP2002 普及组] 级数求和(python3实现)
- swiper6.0改造 “翻页按钮”:自定义style样式和position - 案例篇
- vue中watch数组或者对象
- java项目中的pom依赖在哪_java – 如何包含pom项目中的所有模块
- 洪恩软件c语言,C语言英才宝典app下载
- vue项目如何做到每30秒刷新1次接口?
- 蜗居中折射的三类男人
- zencart网店模板
- 什么是导数和切线?以及他们的关系?
- luogu P3975 [TJOI2015]弦论 SAM
- 虚拟服务器 vmotion,vSphere vMotion能够同时迁移多少台虚拟机?
- srm555 div2
热门文章
- uinty粒子系统子物体变大_Unity2018粒子系统全息讲解,坑深慎入(3)
- 嵌入式MODEM通迅技术
- C++设计模式之三 单例模式
- 凤凰os linux界面,让deepin linux系统与凤凰os共用个人目录的方法
- 創建oracle用戶及表空間,window,linux下創建oracle用戶及表空間 對比 易於學習
- efishell无法开机shell_开机出现efi shell卡住不动了解决方法全集
- mapgis转arcgis数据后发现属性表内没有数据
- WAMP Server 无法启动的解决方法
- 【转】DICOM之Print!!!!!!!!!
- 【转】WPF从我炫系列3---内容控件的用法