首页 > 其他分享 >for (int num : nums)的理解

for (int num : nums)的理解

时间:2024-04-02 17:37:09浏览次数:17  
标签:遍历 nums int num 数组 循环

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 }

 

 

标签:遍历,nums,int,num,数组,循环
From: https://www.cnblogs.com/Zhouce/p/18111112

相关文章

  • 【INDEX_SS】使用HINT使SQL用索引跳跃扫描(Index Skip Scan)方式快速获取数据
    索引跳跃扫描(IndexSkipScan)可以使用到复合索引的非前缀索引列,达到改善性能的作用,前提是全表扫面的代价高于索引跳跃式扫描的代价。这里给出使用HINT方法使SQL走索引跳跃扫描的方法。1.初始化环境1)创建表Tsec@ora10g>createtablet(xnumber,ynumber);Tablecreated.2)初始化10......
  • java 插值搜索-迭代与递归(Interpolation Search)
            给定一个由n个均匀分布值arr[]组成的排序数组,编写一个函数来搜索数组中的特定元素x。         线性搜索需要O(n)时间找到元素,跳转搜索需要O(?n)时间,二分搜索需要O(logn)时间。插值搜索是对实例二分搜索的改进,其中排序数组中的值是均......
  • c# 插值搜索-迭代与递归(Interpolation Search)
            给定一个由n个均匀分布值arr[]组成的排序数组,编写一个函数来搜索数组中的特定元素x。         线性搜索需要O(n)时间找到元素,跳转搜索需要O(?n)时间,二分搜索需要O(logn)时间。插值搜索是对实例二分搜索的改进,其中排序数组中的值是均......
  • Cannot deserialize the current JSON array (e.g. [1,2,3]) into type ‘model’ bec
    错误:CannotdeserializethecurrentJSONarray(e.g.[1,2,3])intotype‘model’becausethetyperequiresaJSONobject(e.g.{“name”:“value”})todeserializecorrectly.TofixthiserroreitherchangetheJSONtoaJSONobject 原因:json或xml字符串中......
  • intigrit-0422原型链配合xss
    题目链接:https://challenge-0422.intigriti.io/页面如下:查看源代码该窗口由iframe实现直接打开源地址查看源码这段代码可以为html页面添加内容functionmain(){constqs=m.parseQueryString(location.search)letappConfig=Object.create(n......
  • [转帖]芯片相关-- Cpu历史--intel系列
    https://zhuanlan.zhihu.com/p/464413953 上次发了一篇文章,本以为没有人会感兴趣,大家关注的还挺多的,正好最近有空,把cpu的历史做了一个简单的回顾,将历史上出现的相关厂家关键芯片做个梳理,通过发展历史,大致了解脉络后,看罗马也不是一天完成的。说明:使用到的图片大部分来源......
  • 【InternLM实战营---第二节课笔记】
    一、本期课程内容概述本节课的主讲老师是角色扮演SIG小组长任宇鹏。教学内容主要包括以下四个部分:部署InternLM2-Chat-1.8B模型进行智能对话部署实战营优秀作品八戒-Chat-1.8B模型通过InternLM2-Chat-7B运行Lagent智能体Demo实践部署浦语·灵笔2模型二、学习......
  • ros中sensor_msgs/PointCloud2点云类型格式
    首先给出该类型包含的字段点击查看代码std_msgs/Headerheaderuint32seqtimestampstringframe_iduint32heightuint32widthsensor_msgs/PointField[]fieldsuint8INT8=1uint8UINT8=2uint8INT16=3uint8UINT16=4uint8INT32=5uint8UINT32......
  • jdk的SPI(Service Provider Interface)
    1、定义SPI是Java提供的一种服务发现机制,用于在运行时动态查找和加载实现特定接口的服务提供商。按照字面的意思是服务提供接口将接口与具体业务独立开来。实现调用方与实现方解耦。1.1API与SPI最简单的区别就是接口的属于哪一方,API接口属于实现方,SPI接口属于调用方,S......
  • Intel GuC和HuC分别有什么作用
    Intel图形固件包括几个组件,如GraphicsMicrocontroller(GuC)和HuC(H.264/HEVCVideoDecode/EncodeandVirtualizationCommandStreamer)。这些组件是设计来提高图形性能和减少CPU的负担的。让我们详细探讨GuC和HuC各自的作用:GuCGuC是一个内嵌在GPU内的小型处理器,它负责管理图形命......