当前位置: 首页 > news >正文

C++|范围for

C++11新引入的for语句,可遍历stl容器

//语法格式
for(变量:序列)
    语句块

变量:定义一个变量,用于在每次循环迭代中存储序列中的一个元素。该变量的类型应该与序列中元素的类型兼容,也可以使用auto关键字让编译器自动推导元素类型。
序列:表示要遍历的序列,可以是{}初始化列表、数组、vectorlist等容器,也可以是返回迭代器对的对象。

1.遍历数组

#include<iostream>
using namespace std;

int main()
{
    int arr[]={1,2,3,4,5,6};
    for(int num:arr)
    {
        cout<<num<<" ";
    }
    cout<<endl;
    return 0;
}

2.遍历string

#include<iostream>
#include<string>
#include<string>

int main()
{
    sting str="abcde";
    for(auto &x:str)//要修改序列的值,必须使用引用
        x=toupper(x);
    cout<<str<<endl;//输出转大写后的字符串

    return 0;
}

如果需要在循环中修改序列中的元素,需要使用引用类型。

3.遍历vector

#include <iostream>
#include <vector>
using namespace std;

int main() {
    vector<int> vec = {10, 20, 30, 40, 50};
    
    // 使用auto关键字自动推导元素类型
    for (auto element : vec) {
        cout << element << " ";
    }
    cout << endl;
    return 0;
}

如果不修改序列的值,可以定义为auto 变量或者const auto &变量;如果需要修改序列的值则必须定义为auto &变量.

相关文章:

  • OpenCV基础知识
  • 分类操作-06.根据id删除分类
  • JS基础部分
  • 奇安信二面
  • 北京大学第六弹:《DeepSeek应用场景中需要关注的十个安全问题和防范措施》
  • 【论文阅读】Adversarial Patch Attacks on Monocular Depth Estimation Networks
  • 硬件地址反序?用位操作为LED灯序“纠偏”。反转二进制数即可解决
  • TCP/IP协议中三次握手(Three-way Handshake)与四次挥手(Four-way Wave)
  • 2025年跨网文件交换系统推荐:安全的内外网文件传输系统Top10
  • 01-1 音视频知识学习(音频)
  • 【Java代码审计 | 第十四篇】MVC模型、项目结构、依赖管理及配置文件概念详解
  • 九、Prometheus 监控windows(外部)主机
  • How To Change Windows VPS Password
  • 【k8s001】K8s架构浅析
  • 网页制作16-Javascipt时间特效の设置D-DAY倒计时
  • 基于KL-ISODATA算法的电力负荷数据场景聚类matlab仿真
  • ElasticSearch组合查询及实际应用
  • 交换机控制软件的实现步骤猜测
  • 安装教程整理 docker linux 虚拟机
  • Podman 1panel中容器管理docker替换为Podman
  • 首次面向上海、江苏招收本科生,西湖大学接连发布招生简章
  • 西部航空回应飞机上卖彩票:与重庆福彩合作,仅部分航班售卖
  • 新能源车盈利拐点:8家上市车企去年合计净利854亿元,多家扭亏
  • 五大光伏龙头一季度亏损超80亿元,行业冬天难言结束
  • 迪卡侬回应出售中国业务30%股份传闻:始终扎根中国长期发展
  • 中国人民解放军南部战区位南海海域进行例行巡航