C++的使用小教程2——基于范围的for循环

2023-11-14

C++的使用小教程2——基于范围的for循环

在学习了python之后,一直觉得python的语法很方便,特别是python中遍历数组的方式,无需配置特别的参数就可以完全遍历,C语言是很难实现的,不过我发现C++中有对应的函数可以实现。
在这里插入图片描述

1、常规的for循环

C++中正常的for循环算法如下所示:

for ( init; condition; increment )
{
   statement(s);
}

其中init用于初始化参数;condition用于条件判断,在满足条件时继续执行for循环;increment用于在每一轮循环改变变量的值。
应用实例如下:

#include <iostream>
using namespace std;
int main()
{
	for (int a = 0; a <5; a = a + 1)
	{
		cout << "a 的值为:" << a << endl;
	}
	system("pause");
	return 0;
}

执行结果为:

a 的值为:0
a 的值为:1
a 的值为:2
a 的值为:3
a 的值为:4
请按任意键继续. . .

2、基于范围的for循环

基于范围的for循环可以遍历整个数组:

for ( type *ele: array)
{
   statement(ele);
}

其中type是遍历的数组的类型,ele代指某元素,array指的是整个遍历的数组。
应用实例如下:

#include <iostream>
using namespace std;
int main()
{

	int a[10] = {2,1,3,4,5,6,1,2,3,5};
	for (int &x : a)
	{
		cout << x << ' ';
	}
	cout << '\n';
	// auto 可以用于直接获取变量
	for (auto &x : a) {
		cout << x << ' ';
	}
	cout << '\n';
	system("pause");
	return 0;
}

应用结果为:

2 1 3 4 5 6 1 2 3 5
2 1 3 4 5 6 1 2 3 5
请按任意键继续. . .
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++的使用小教程2——基于范围的for循环 的相关文章

随机推荐

  • mybatis中的if-else语句的使用解答

    1 mybatis中if else语句的语法 使用模板样例
  • 什么是沙箱技术?与容器有什么区别

    沙箱和容器的 隔离 机制 首先 什么是沙箱 它本身就是一种线下生活现象的虚拟化 现实世界里 小孩子们在沙地 沙滩上用木板隔离出一个方盒子 在盒子里堆砌 创造各种东西 城堡 房屋 山丘 这就是一个沙箱 它有两个根本特点 一 它有边界 通过木板
  • aix oracle 11 补丁包,oracle 11g for aix6.1安装基本步骤(含升级11.1.0.7)

    oracle 11g for aix6 1安装基本步骤 含升级11 1 0 7 1 检查物理内存 swap空间以及tmp空间 usr sbin lsattr E l sys0 a realmem 检查内存至少1G usr sbin lsps
  • anaconda创建python环境

    1 前提 系统中安装了anaconda沙箱环境 下载地址 anaconda官网 conda V 检验是否安装以及当前conda的版本 2 conda常用的命令 1 conda list 查看安装了哪些包 2 conda env list 或
  • bcd码和十进制码之间的转换

    BCD码转十进制 static u8 BCDToInt u8 value unsigned char temp 0 temp value gt gt 4 10 temp value 0x0F return temp 十进制转BCD码 sta
  • java awt linux_解决在linux下awt调用错误的问题

    在java中使用awt在服务器上处理图片的时候发现有错 第一遍执行 500 Servlet Exception java lang InternalError Can t connect to X11 window server using
  • MyBatis自动生成实体类

    MyBatis MySQL生成实体类 需要的工具jar包 mybatis generator core 1 3 2 jar mysql connector java 5 0 4 jar 第一步 编写一个MybatisGeneratorUti
  • android 之 如何让app没有图标

    我们有时候需要让我们的app没有图标 不要问我没有图标要干啥 我只是说的一个需求 单讲技术不说别的 首先我们要获得 PackageManager 的对象 PackageManager packageManager getPackageMan
  • Caffeine缓存的使用

    1 springboot集成Caffeine
  • KeePass搭建一个私人密码库

    文章作者 GoodBoyboy 文章链接 https blog goodboyboy top posts 2546190081 html 版权声明 本博客所有文章除特别声明外 均采用 CC BY NC SA 4 0 许可协议 转载请注明来自
  • 线程(进程)的同步与互斥实例

    1 有一个队列 线程1负责从网络接收分组 并将收到的分组放到队列尾 然后再次从网络中接收下一个到达的分组 并进行同样的队列操作 线程2从此队列头中取出一个分组进行处理 处理完毕后 再次从队列中取出一个分组进行处理 处理完毕后再次从队列头取出
  • [转]Python实现多功能音乐播放器

    前言 就是用Python做一个简易的音乐播放器 废话不多说 咱们直接开干 当然 今天做这个肯定不是最简单的 最简单的音乐播放器 9行代码足以 import time import pygame file r 歌曲路径 pygame mixe
  • torch.hub.load()解析,如何加载本地权重

    用yolov5训练了一个权重 项目只能部署在本地 官方文档 torch hub load repo or dir model args source github force reload False verbose True skip v
  • Python 第一阶段

    第一章 安装 1 1 开发环境 官网 https www python org稳定版 Stable Releases检验 cmd 命令 python version 1 2 开发工具 PyCharm官网 https www jetbrain
  • (Struts2学习篇) Struts2配置文件之 struts-default.xml

    对struts default xml的一些注释
  • zmq+protobuf 的坑点难点

    zmq protobuf 的坑点难点 之前项目要用到zmq protobuf的方式传递数据 软件采用前后端分离的方式开发 其中前端是异地同事用python开发的 后端是我们这边用C 开发的 1 中间有遇到问题是前后端传送zmq信息时 发现字
  • DRM驱动(七)之atomic_commit

    上节已经把应用的参数check了一遍 这次就可以把对应的参数配置到硬件里进行刷图操作了 int drm atomic commit struct drm atomic state state struct drm mode config c
  • Qt 控制台运行无法弹出小黑框

    Qt Console Application Qt 主要是GUI界面的设计 但在学习的时候控制台运行显得更加方便一些 小编在第一次新建控制台运行的时候 点击运行没有弹出小黑框 解决方法 主要是因为没有执行qmake 就需要在Qt的pro文件
  • RocketMQ 用法详解,你学会了吗?

    大家好 我是指北君 消息中间件是我们工作中使用最频繁的一类中间件 它具有低耦合 可靠投递 广播 流量控制 最终一致性等一系列功能 成为异步RPC的主要手段之一 当今市面上有很多主流的消息中间件 如老牌的ActiveMQ RabbitMQ 炙
  • C++的使用小教程2——基于范围的for循环

    C 的使用小教程2 基于范围的for循环 1 常规的for循环 2 基于范围的for循环 在学习了python之后 一直觉得python的语法很方便 特别是python中遍历数组的方式 无需配置特别的参数就可以完全遍历 C语言是很难实现的