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/zh-hk/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
  • Python遍歷集合中的元素

    本文將從多個方面詳細闡述Python遍歷集合中的元素方法。 一、for循環遍歷集合 Python中,使用for循環可以遍歷集合中的每個元素,代碼如下: my_set = {1, 2…

    編程 2025-04-29
  • 如何使用jumpserver調用遠程桌面

    本文將介紹如何使用jumpserver實現遠程桌面功能 一、安裝jumpserver 首先我們需要安裝並配置jumpserver。 $ wget -O /etc/yum.repos…

    編程 2025-04-29
  • Python去掉數組的中括號

    在Python中,被中括號包裹的數據結構是列表,列表是Python中非常常見的數據類型之一。但是,有些時候我們需要將列表展開成一維的數組,並且去掉中括號。本文將為大家詳細介紹如何用…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • Hibernate註解聯合主鍵 如何使用

    解答:Hibernate的註解方式可以用來定義聯合主鍵,使用@Embeddable和@EmbeddedId註解。 一、@Embeddable和@EmbeddedId註解 在Hibe…

    編程 2025-04-29
  • 如何使用Python讀取CSV數據

    在數據分析、數據挖掘和機器學習等領域,CSV文件是一種非常常見的文件格式。Python作為一種廣泛使用的編程語言,也提供了方便易用的CSV讀取庫。本文將介紹如何使用Python讀取…

    編程 2025-04-29
  • 如何使用random生成不重複的隨機數

    在編程開發中,我們經常需要使用隨機數來模擬一些場景或生成一些數據。但是如果隨機數重複,就會造成數據的不準確性。這時我們就需要使用random庫來生成不重複且隨機的數值。下面將從幾個…

    編程 2025-04-29

發表回復

登錄後才能評論