for (int num : nums)的理解
1、理解
for (int num : nums)
是 C++11 引入的一种新的循环语法,称为范围-based for 循环或者是 foreach 循环。这种循环语法可以遍历容器或者数组中的元素,并且代码更加简洁易读。
int num
:这里的num
是循环体内部使用的循环变量,它的类型要和容器中的元素类型相匹配。:
:冒号前面是循环变量的声明,后面是要遍历的容器。nums
:要遍历的容器或者数组。
这种 for 循环可以用于几乎所有支持迭代器(iterator)的容器和数组。包括但不限于:
- 标准库容器:如 vector、list、deque、set、map、unordered_set、unordered_map 等。
- C 风格的数组:包括静态数组和动态数组(指针数组)。
- 字符串:可以遍历字符串的每个字符。
- 自定义类型:只要实现了迭代器,即可使用范围-based for 循环进行遍历。
2、代码实例
1 #include <iostream>
2 #include <vector>
3 #include <string>
4
5 int main() {
6 std::vector<int> nums = {1, 2, 3, 4, 5};
7
8 // 遍历 vector
9 for (int num : nums) {
10 std::cout << num << " ";
11 }
12 std::cout << std::endl;
13
14 std::string str = "Hello";
15
16 // 遍历字符串
17 for (char ch : str) {
18 std::cout << ch << " ";
19 }
20 std::cout << std::endl;
21
22 int arr[] = {6, 7, 8, 9, 10};
23
24 // 遍历数组
25 for (int val : arr) {
26 std::cout << val << " ";
27 }
28 std::cout << std::endl;
29
30 return 0;
31 }
for (int num : nums)的理解的更多相关文章
- java.util.Random 类的 nextInt(int num )
随机产生3个67~295的整数并找出数值居中的数 并输出中间的数例如:100,225和200,输出200 要随机产生某个范围内的整数,用 java.util.Random 类的 nextInt(int ...
- 文件重定向,getline()获取一样,屏幕输出流,格式控制符dec,oct,hex,精度控制setprecision(int num),设置填充,cout.width和file(字符),进制输入
1.在window下的命令重定向输出到文件里 2.将内容输入到某个文件里的方式:命令<1.txt (使用1.txt中的命令) 3.读取文件里的名,然后将命令读取最后输出到文件里.命令< ...
- 求一个整型数字中有没有相同的部分,例如12386123这个整型数字中相同的部分是123,相同的部分至少应该是2位数,如果有相同部分返回1,如果没有则返回0。方法是先将整型数字转换到数组中,再判断。函数为 int same(int num)其中num是输入的整型数字
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Test { pub ...
- typedef int(init_fnc_t) (void)的理解
typedef int(init_fnc_t) (void); 这个就是一个取别名的过程. 我们通常情况下会如下使用 typedef :typedef int MyInt;MyInt a; 这个时候我 ...
- 2017-2-17,c#基础,输入输出,定义变量,变量赋值,int.Parse的基础理解,在本的初学者也能看懂(未完待续)
计算机是死板的固定的,人是活跃的开放的,初学c#第一天给我的感觉就是:用人活跃开放式的思维去与呆萌的计算机沟通,摸清脾气,有利于双方深入合作,这也是今晚的教训,细心,仔细,大胆 c#基础 1.Hell ...
- 3Sum algorithm - 非常容易理解的实现 (java)
原题重述:(点击图片可以进入来源链接) 这到题目的中文解释是, 输入一个数组,例如{-1 0 1 2 -1 -4},从数组中找三个数(a,b,c),使得其和0,输出所有的(a,b,c)组合. 要求ab ...
- [LeetCode] 46. Int数组全排列 ☆☆☆(回溯)
描述 给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2, ...
- 理解传输层中UDP协议首部校验和以及校验和计算方法的Java实现
UDP,全称User Datagram Protocol,用户数据报协议,是TCP/IP四层参考模型中传输层的一种面向报文的.无连接的.不能保证可靠的.无拥塞控制的协议.UDP协议因为传输效率高,常用 ...
- 编写Java程序,通过给定可变参数方法,计算任意给定的多个int类型数据之和
返回本章节 返回作业目录 需求说明: 通过给定可变参数方法,计算任意给定的多个int类型数据之和. 实现思路: 定义可变形参方法,参数类型是int类型. 定义变量 sum 接受最终的和. 通过 for ...
- [LeetCode] Maximum XOR of Two Numbers in an Array 数组中异或值最大的两个数字
Given a non-empty array of numbers, a0, a1, a2, … , an-1, where 0 ≤ ai < 231. Find the maximum re ...
随机推荐
- 跨平台之 KMP / KMM 详解
任何事情,急于求成都是幼稚的幻想,急于求成的结果一定是不成,对此不应该有任何怀疑. 一. KMP 和 Compose Multiplatform 摘要:减少为不同平台编写和维护相同业务逻辑代码所花费的 ...
- Coze工作流实战:一键生成像素风格视频
前言 最近像素画风的视频非常火,一个视频浏览量超过10w+的也有很多. 那么这个是怎么实现的? 其实,通过AI工作流可以比较简单地实现这样的短视频. 今天给大家分享一下,我是如何搭建工作流实现的. 欢 ...
- 垃圾PTA:7-2 统计数字字符和空格
本题要求编写程序,输入一行字符,统计其中数字字符.空格和其他字符的个数.建议使用switch语句编写. 输入格式:输入在一行中给出若干字符,最后一个回车表示输入结束,不算在内. 输出格式:在一行内按照 ...
- Java变量类型识别
方法: 1.反射方式,成员变量的类型判断2.isInstance用法3.利用泛型识别类型一.新建测试类 import java.util.Date; import com.cxyapi.generic ...
- 详解鸿蒙Next仓颉开发语言中的全屏模式
大家好,今天跟大家分享一下仓颉开发语言中的全屏模式. 和ArkTS一样,仓颉的新建项目默认是非全屏模式的,如果你的应用颜色比较丰富,就会发现屏幕上方和底部的留白,这是应用自动避让了屏幕上方摄像头区域和 ...
- Linux开放防火墙指定端口
方法一 开启8011端口 /sbin/iptables -I INPUT -p tcp --dport 8011 -j ACCEPT 保存配置 /etc/rc.d/init.d/iptables sa ...
- 【深入理解 volatile】内存可见性与同步机制详解
1. 引言 在多线程编程中,共享变量的可见性和同步问题一直是开发者面临的挑战.Java 提供了 volatile 关键字来确保变量的可见性和有序性,但它并不保证原子性.本文将深入探讨 volatile ...
- 使用systemd 监控服务并实现故障自动重启
一.为什么需要自动重启? 在生产环境中,服务可能因内存溢出.资源竞争.外部依赖中断等问题意外崩溃.手动恢复效率低下,而 systemd 的自动重启机制可在秒级内恢复服务,显著提升系统可用性. ⚙️ 二 ...
- c# 判断程序是否Debug模式还是Release模式 调试模式,开发模式,发布模式
https://blog.csdn.net/qq_37664403/article/details/118747195 1.Debug模式,Release模式#if DEBUGConsole.Writ ...
- Rust修仙之道 第六章:审炼境 · 试剑封灵
第六章:审炼境 · 试剑封灵 "术式既成,必经试炼:未经试剑者,不可上阵." 顾行云日夜修炼,虽灵术繁多.模块精妙,但他常觉不稳.有一夜,他梦见灵阵暴走,众多灵兽因术式一处缺漏而陷 ...