【C++】for循环中带冒号(:)用法简介

2023-05-16

基本用法

正常我们想要输出一个数组的全部元素时,需要采用以下的方法:

//随机定义的数组
int array[10] = { 54, 23, 78, 9, 15, 18, 63, 33, 87, 66 };

for (int i = 0; i < 10; i++) {
	cout << array[i] << " ";		//输出:54 23 78 9 15 18 63 33 87 66
}

在C++11中,我们可以在for循环添加冒号 : 来简化这一过程:

//随机定义的数组
int array[10] = { 54, 23, 78, 9, 15, 18, 63, 33, 87, 66 };
	
for (auto a : array) {
	cout << a << " ";		//输出:54 23 78 9 15 18 63 33 87 66
}

需要注意

如果传入的迭代参数类型为非引用时,做的是值拷贝,因此修改数据是无效的。

#include<iostream>
using namespace std;

int main() {
	//随机定义的数组
	int array[10] = { 54, 23, 78, 9, 15, 18, 63, 33, 87, 66 };

	for (auto a : array) {
		cout << a << " ";		//输出:54 23 78 9 15 18 63 33 87 66
	}

	cout << endl;
	for (auto a : array) {
		a++;					//改变后原数组中的数值不变
	}

	for (auto a : array) {
		cout << a << " ";		//输出:54 23 78 9 15 18 63 33 87 66(数值不变)
	}
	return 0;
}

如果传递的是引用,则可以改变原数组的值。

#include<iostream>
using namespace std;

int main() {
	//随机定义的数组
	int array[10] = { 54, 23, 78, 9, 15, 18, 63, 33, 87, 66 };

	for (auto a : array) {
		cout << a << " ";		//输出:54 23 78 9 15 18 63 33 87 66
	}

	cout << endl;
	for (auto &a : array) {		//传递了引用,因此改变数组中的值会有效果
		a++;
	}

	for (auto a : array) {
		cout << a << " ";		//输出:55 24 79 10 16 19 64 34 88 67(数值+1)
	}
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【C++】for循环中带冒号(:)用法简介 的相关文章

  • json离线解析格式化工具

    json离线解析格式化工具 xff1a 当没有网络的时候 xff0c 可以使用该工具实现json解析格式化 https download csdn net download boboelec 11992955 工具使用效果 xff1a
  • LMI 转化与Matlab工具箱

    目录 一些结论 1 1 中给出下面两结论 lmivarcase1case2case3case4 参考 需要将一些不等式转化为LMI 一些结论 1 1 中给出下面两结论 P gt 0
  • Err:1 http://security.ubuntu.com/ubuntu bionic-security InRelease Could not resolve ‘security.ubun

    在执行apt get update命令的时候更新报错 Err 1 http security ubuntu com ubuntu bionic security InRelease Could not resolve 39 security
  • 强化学习Q-Learning算法

    强化学习Q Learning算法 前言基本概念基本概念递推关系 Q learning基本原理注意事项局限性仿真 前言 学习这个算法有一段时间了 xff0c 但是因为自己犯懒一直没有整理 现整理一下 xff0c 一方面有刚入门的同学可以参考
  • 联想拯救者Y7000P装win10与Ubuntu18.04双系统

    初衷 写这个博客的初衷是为了记录本人在联想笔记本上安装Ubuntu18 04双系统时遇到的坑 xff0c 事后装完之后发现并不是很坑 xff0c 但是如果没有遇到过此类问题 xff0c 就很难受了 xff0c 所以决定记录下来 这款笔记本安
  • 强化学习DDPG算法

    强化学习DDPG算法 前言 因为疫情一直在辗转隔离 xff0c 没心思学习 xff0c 索性整理一下学过的东西 xff0c 记一下学习笔记 xff0c 就当自我安慰了 推导部分观看了这个B站的学习视频 DDPG 与DQN不同 xff0c D
  • 最优控制 3:最优控制理论中的极小值原理与动态规划

    最优控制 3 xff1a 使用极小值原理求解最优控制问题 引言极小值原理 t f t f t f 固定的情况
  • 使用Pycharm创建一个工程

    刚刚开始学习Python xff0c 使用的IDE是PyCharm 本来想记在本子上 xff0c 可是感觉有点慢 xff0c 而且多 xff0c 因此选择在网上记录自己的笔记 哈哈 xff0c 也不知道能记多长时间 PyCharm下载安装之
  • Pycharm在windows下使用Anaconda中的Python解释器各种报错的问题

    最近几天被windows下的软件快要搞疯了 电脑装了Anaconda3 xff0c 在运行一些python程序的时候 xff0c 这些程序在anaconda的自带终端中python代码可以正常运行 但是不可以使用诸如Pychrm和VS201
  • Ubnutu16.04 系统下编译PX4固件方法

    今天开始准备在Ubuntu16 04下搭建PX4的开发环境 早就听说源代码编译的过程中有很多坑 xff0c 所以在编译源代码之前在网上搜索了很多教程 xff0c 其中这个教程写的非常详细 xff1a https blog csdn net
  • 高斯过程回归中后验概率的简单推导

    最近几天在整理高斯过程回归 Gaussian Process Regression GPR 部分的知识 xff0c 虽然还有很多问题没有搞懂 xff0c 但是有一点进展还是决定总结下来 xff0c 防止遗忘 在整理之前 xff0c 先列出我
  • mavlink增加自定义消息

    mavlink作为PX4以及APM两大开源飞控的通讯协议 xff0c 应用非常广泛 在进行开源飞控二次开发时 xff0c 增加自定义消息非常普遍 比如在offboard模式下 xff0c 将视觉避障信息或者雷达信息发送给飞控 xff0c 这
  • 【从0到1】组装深度学习台式机

    本文旨在为有从事深度学习研究的同学提供一份装机攻略 xff0c 望对您有帮助 1 前言 目前 新基建 热潮 xff0c 人工智能如火如荼 xff0c 国内大部分院校 企业都会为学生 员工配置实验集群 xff0c 但是有时候想在本地自己跑些d
  • 【ROS学习】节点运行管理launch文件的基本操作

    launch文件的概念和作用 launch 文件是一个 XML 格式的文件 xff0c 可以启动本地和远程的多个节点 xff0c 还可以在参数服务器中设置参数 launch文件的作用是 xff1a 简化节点的配置与启动 xff0c 提高RO
  • 系统提示“该设备无法启动(代码:10)”,USB设备不能开始工作怎么办?

    文章来源 xff1a https www reneelab com cn this device cannot start html 目录 原因分析解决方法一 xff1a 在设备管理器中更新驱动程序解决方法二 xff1a 重新安装有问题的U
  • printf 在Linux终端上输出彩色字体 (串口也适用)

    有时我们希望在LINUX终端上按照调试级别打印不同颜色的调试信息 xff0c 如 include lt stdio h gt define DBG PRINT format arg do fprintf stdout 34 ld d fla
  • vSLAM重读(4): OKVIS--KeyFrame-based Visual-Inertial SLAM

    1 摘要 视觉传感器与IMU传感器互补 61 61 gt VIO系统 xff1b 由最初的以滤波为主题 xff0c 现在逐渐转换为非线性优化来实现SLAM xff1b 提出一种方法将视觉信息与IMU测量数据紧密结合 xff0c 将IMU的误
  • vSLAM重读(5): vSLAM中对双目相机的数据处理及与单目相对比

    1 双目相机概述 双目立体视觉模型 双目模型求取深度 双目立体相机分别校准可参考 ROS 单目相机 分别校准 双目立体匹配算法案例 https www cnblogs com riddick p 8486223 html https www
  • ROS回顾学习(11): TF之static_transform_publisher

    主要用于静态坐标转换 两种发布形式 1 俯仰角 43 位置坐标 span class token comment static transform publisher x y z yaw pitch roll frame id child
  • 菜鸟专学:从头到尾创建自己的SLAM系统

    RobotSlamApplication项目二 xff1a 小型SLAM系统 研究背景 xff1a 因为之前比较浮躁 xff0c 总是喜欢研究别人的库然后测试跑通 xff0c 效果好就拿来修修改改 然后测试测试就用 xff0c 效果不好就抛

随机推荐

  • 伽马分布与 贝塔分布

    伽马函数 称 为伽马函数 xff0c 其中参数 xff0c 伽马函数具有如下性质 xff1a n为自然数 xff1b 或写作 余元公式 xff1a 对于 有 与贝塔函数 的关系 对于 伽马函数是严格凹函数 x足够大时 xff0c 可以用St
  • Hanoi汉诺塔步骤实现图示说明(C程序设计,例7.8)

    一 题目 古代有一个梵塔 塔内有3个座A B C 开始时A座上有64个盘子 盘子大小不等 大的在下 小的在上 如下图所示 有个老和尚想把这64个盘子从A座移到C座 但规定每一次只允许移动一个盘 且在移动过程中在3个座上都始终保持大盘在下 小
  • PX4飞行模式整理

  • docker打包、部署、添加用户组

    docker的打包与部署 参考文章 xff1a link 1 xff0c 查看当前正常运行的容器 docker ps docker ps a 显示所有容器 xff0c 包括未运行容器 2 xff0c 将正在运行的容器打包成镜像 docker
  • 树莓派VNC连接失败,认证界面无法输入用户名

    文章目录 问题背景思考 xff1a 解决方法 xff1a 第一步 xff1a 使用命令新建桌面 xff1a 第二步 xff1a vnc客户端连接时 xff0c 并且指定桌面号连接成功 xff01 优化方案 xff1a 参考引用 问题背景 由
  • vue按钮获取元素

    下面展示一些 内联代码片 64 click 61 34 search event 34 search e 获取所有元素 console log e 获取文字 console log e currentTarget innerText
  • ORBSLAM2在Ubuntu20.04&ROS noetic下配置与测试

    在解决问题过程中看了很多大佬的文章 总结一下资源及bug及bug可能有效的解决方案 有些忘了 1 bug 最常见的应该是编译器版本不同和库文件版本不同导致的语法差异 1 1 Eigen版本问题 CMakelist 44行改为find pac
  • 虚拟机开机黑屏(硬盘空间不足)

    1 现象 开机后正常运转 xff0c 出现 11 548785 piix4 smbus 0000 00 07 3 SHBus Host Controller not enabled i12 241671 sd 32 0 0 0 sda As
  • slam报错大讲堂

    1 g2o链接文件找不到 error while loading shared libraries libg2o csparse extension so cannot open shared object file No such fil
  • initramfs错误导致无法进入系统

    说是不正常关机 导致的错误 总之就是开不了机了 并且弹出对话框 不知道输入啥 查网上说要 strong span style color 4da8ee fsck t ext4 dev sda1 span strong 但是没有卵用 其实到这
  • ubuntu下vscode 突然打不开

    https stackoverflow com questions 51027327 ubuntu 18 04 var lib snapd has other write 40777 报错如下 xff1a var lib snapd has
  • 普罗米修斯踩坑解法大合集

    主流1 仿真环境下报错 Not arming geofence RTL requiers valid home xff1b 以及Compass Sensors inconsistent等 去年买的跑个仿真还有地理围栏和校准传感器 xff0c
  • python集合问题大合集

    1 python 多维列表初始化 Python的列表相比于c 43 43 xff0c 很坑爹的一点是如果访问未赋值列表单元的位置 xff0c 是不能直接访问的 xff08 而c 43 43 有默认值为0 xff09 xff0c 例如 xff
  • 零基础入门无人机--无人机姿态--2

    四旋翼在其四个轴臂上四个桨的高速转动作用下 xff0c 会受到四个桨的拉力 xff0c 拉力方向与机身垂直 xff0c 当四个桨产生的拉力总和大于机身重力时 xff0c 飞机处于上升状态 xff1b 当总拉力小于机身重力时 xff0c 飞机
  • 使用harbor搭建docker私有仓库

    1 安装私有仓库 参照 xff1a https blog csdn net qq 35959573 article details 80664353 xff1b https www jianshu com p 32f077a3960e xf
  • python奇im巧技大合集

    1 嵌套函数下层函数修改上层函数变量值 问题 xff1a 在嵌套函数 xff0c 即def fun1 def fun2 类型的函数中 xff0c 如果函数fun2想要修改fun1中的变量 xff0c 就不能用global 来声明变量了 xf
  • linux系统下编译错误大合集

    1 pcl库相关报错 error divscalar is not a member of pcl traits error plus is not a member of pcl traits 后面一定还有一长串报错 xff09 解法 x
  • VSCode使用git-【界面化处理】

    此教程从创建一个git项目开始处理 xff0c 内容比较细致 xff0c 可以摘取需要的部分观看 目录 在gitee上创建一个git项目 VSCode同步远程代码仓库 git的提交操作 中途的小问题 回归正题 git的拉取操作 1 两个人在
  • 【ROS】Ubuntu18.04下安装ROS-Melodic的步骤及rosdep update报错的解决方案

    写在前面 xff1a 笔者从大二就开始接触ROS操作系统 xff0c 期间经历过多次ROS的安装与重装 xff0c 每一次都痛苦不堪 每一次的安装都会重复踩很多坑 xff0c 也会踩一些新坑 xff0c 因此借此机会打算把安装ROS Mel
  • 【C++】for循环中带冒号(:)用法简介

    基本用法 正常我们想要输出一个数组的全部元素时 xff0c 需要采用以下的方法 xff1a span class token comment 随机定义的数组 span span class token keyword int span ar