C++ foreach语法:如何使用foreach循环遍历数组和容器

一、foreach语法的基本知识

foreach循环在C++11中被引入。它允许我们简单明了地遍历数组,容器和其他带有迭代器的结构。

foreach循环的基本语法如下所示:

    for (auto element : container)
    {
        // 对 element 做一些操作
    }

在这个语法中,auto关键字通常与元素类型推断一起使用,例如数组中的元素类型。

给定一个花费数组:

    double costs[] = { 1.0, 2.0, 3.0 };

下面的foreach循环可以用于遍历数组:

    for (auto cost : costs)
    {
        std::cout << cost << std::endl;
    }

循环将输出:

    1
    2
    3

二、使用foreach循环遍历容器

我们可以使用foreach循环遍历C++容器。在这个例子中,我们可以使用std::vector容器:

    std::vector names = { "Tom", "Jerry", "Scooby" };
    for (std::string name : names)
    {
        std::cout << name << std::endl;
    }

输出:

    Tom
    Jerry
    Scooby

我们也可以使用auto关键字来推断数据类型:

    std::vector numbers = { 1, 2, 3, 4, 5 };
    for (auto number : numbers)
    {
        std::cout << number << std::endl;
    }

输出:

    1
    2
    3
    4
    5

三、使用foreach循环遍历字符串

我们可以不使用迭代器遍历字符串,而是使用foreach循环。在下面的例子中,我们将使用foreach循环遍历字符串:

    std::string str = "Hello, world!";
    for (char c : str)
    {
        std::cout << c << std::endl;
    }

输出:

    H
    e
    l
    l
    o
    ,
     
    w
    o
    r
    l
    d
    !

四、使用foreach循环遍历结构体

我们可以使用foreach循环来遍历结构体数组。在下面的例子中,我们将使用foreach循环遍历结构体:

    struct Employee{
        std::string name;
        int age;
    };

    Employee employees[] = { {"Tom", 28}, {"Jerry", 24}, {"Scooby", 26} };
    for (auto e : employees)
    {
        std::cout << "Name: " << e.name << ", Age: " << e.age << std::endl;
    }

输出:

    Name: Tom, Age: 28
    Name: Jerry, Age: 24
    Name: Scooby, Age: 26

五、foreach循环中使用引用

我们可以使用引用在foreach循环中改变集合中的元素。在下面的例子中,我们将使用foreach循环将std::vector中的元素全部修改为0:

    std::vector numbers = { 1, 2, 3, 4, 5 };
    for (auto& number : numbers)
    {
        number = 0;
    }

现在,std::vector中的所有元素都变成了0:

    0
    0
    0
    0
    0

六、foreach循环和const

我们也可以在foreach循环中使用const关键字,以确保我们不会在循环期间更改元素。 在下面的例子中,我们将使用const关键字来遍历std::vector:

    const std::vector nums = { 1, 2, 3, 4, 5 };
    for (const auto& number : nums)
    {
        std::cout << number << std::endl;
    }

输出:

    1
    2
    3
    4
    5

七、总结

使用foreach循环是一种简单而又方便的方式来遍历数组,容器和其他带有迭代器的结构。它减少了代码的复杂度,并提高了可读性。可以在foreach循环中使用引用和const关键字。

原创文章,作者:VORIE,如若转载,请注明出处:https://www.506064.com/n/351528.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
VORIE的头像VORIE
上一篇 2025-02-17 17:02
下一篇 2025-02-17 17:02

相关推荐

  • Python导入数组

    本文将为您详细阐述Python导入数组的方法、优势、适用场景等方面,并附上代码示例。 一、numpy库的使用 numpy是Python中一个强大的数学库,其中提供了非常丰富的数学函…

    编程 2025-04-29
  • 如何使用Python获取某一行

    您可能经常会遇到需要处理文本文件数据的情况,在这种情况下,我们需要从文本文件中获取特定一行的数据并对其进行处理。Python提供了许多方法来读取和处理文本文件中的数据,而在本文中,…

    编程 2025-04-29
  • Python返回数组:一次性搞定多种数据类型

    Python是一种多用途的高级编程语言,具有高效性和易读性的特点,因此被广泛应用于数据科学、机器学习、Web开发、游戏开发等各个领域。其中,Python返回数组也是一项非常强大的功…

    编程 2025-04-29
  • 如何使用jumpserver调用远程桌面

    本文将介绍如何使用jumpserver实现远程桌面功能 一、安装jumpserver 首先我们需要安装并配置jumpserver。 $ wget -O /etc/yum.repos…

    编程 2025-04-29
  • Python遍历集合中的元素

    本文将从多个方面详细阐述Python遍历集合中的元素方法。 一、for循环遍历集合 Python中,使用for循环可以遍历集合中的每个元素,代码如下: my_set = {1, 2…

    编程 2025-04-29
  • Python去掉数组的中括号

    在Python中,被中括号包裹的数据结构是列表,列表是Python中非常常见的数据类型之一。但是,有些时候我们需要将列表展开成一维的数组,并且去掉中括号。本文将为大家详细介绍如何用…

    编程 2025-04-29
  • Python操作数组

    本文将从多个方面详细介绍如何使用Python操作5个数组成的列表。 一、数组的定义 数组是一种用于存储相同类型数据的数据结构。Python中的数组是通过列表来实现的,列表中可以存放…

    编程 2025-04-29
  • 如何使用Python读取CSV数据

    在数据分析、数据挖掘和机器学习等领域,CSV文件是一种非常常见的文件格式。Python作为一种广泛使用的编程语言,也提供了方便易用的CSV读取库。本文将介绍如何使用Python读取…

    编程 2025-04-29
  • Hibernate注解联合主键 如何使用

    解答:Hibernate的注解方式可以用来定义联合主键,使用@Embeddable和@EmbeddedId注解。 一、@Embeddable和@EmbeddedId注解 在Hibe…

    编程 2025-04-29
  • 如何使用HTML修改layui内部样式影响全局

    如果您想要使用layui来构建一个美观的网站或应用,您可能需要使用一些自定义CSS来修改layui内部组件的样式。然而,修改layui组件的样式可能会对整个页面产生影响,甚至可能破…

    编程 2025-04-29

发表回复

登录后才能评论