亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C++中的for-each循環(huán)使用

 更新時間:2024年09月18日 11:24:30   作者:Bitup_bitwin  
范圍循環(huán)是C++11引入的特性,用于簡化數組和容器的遍歷過程,它通過直接操作元素而不是使用索引或迭代器,范圍循環(huán)可以使用引用或const修飾符來控制元素的修改權限,適用于所有支持begin()和end()方法的容器,該循環(huán)方式不適用于未提供這些方法的C++98/03容器

C++中的范圍循環(huán)(Range-based for loop),也稱為for-each循環(huán),是C++11引入的一種簡化數組或容器遍歷的循環(huán)方式。相比傳統(tǒng)的for循環(huán),for-each更加簡潔且不容易出錯,特別是在遍歷STL容器時。

基本語法

范圍循環(huán)的語法結構如下:

for (declaration : range_expression) {
    // loop body
}
  • declaration:用于定義循環(huán)中的迭代變量(類似于傳統(tǒng)for循環(huán)中的計數器)。
  • range_expression:需要遍歷的容器、數組或范圍。

舉例說明

我們通過幾個例子來講解范圍循環(huán)的使用。

1. 遍歷數組

#include <iostream>
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    // 使用范圍循環(huán)遍歷數組
    for (int num : arr) {
        std::cout << num << " ";
    }
    return 0;
}

輸出:

1 2 3 4 5

在這個例子中,int num 是聲明的循環(huán)變量,它會依次獲取arr數組中的每一個元素。

2. 遍歷std::vector

#include <iostream>
#include <vector>
int main() {
    std::vector<int> vec = {10, 20, 30, 40, 50};
    // 使用范圍循環(huán)遍歷 vector
    for (int num : vec) {
        std::cout << num << " ";
    }
    return 0;
}

輸出:

10 20 30 40 50

與遍歷數組類似,這里通過范圍循環(huán)可以簡潔地遍歷std::vector中的元素。

3. 遍歷容器中的對象

范圍循環(huán)不僅可以遍歷簡單的基本類型數組或容器,也可以用來遍歷容器中的對象:

#include <iostream>
#include <vector>
struct Person {
    std::string name;
    int age;
};
int main() {
    std::vector<Person> people = {{"Alice", 25}, {"Bob", 30}, {"Charlie", 35}};
    // 使用范圍循環(huán)遍歷對象
    for (const Person& person : people) {
        std::cout << person.name << ": " << person.age << "\n";
    }
    return 0;
}

輸出:

Alice: 25
Bob: 30
Charlie: 35

4. 使用引用修改元素

范圍循環(huán)可以通過引用訪問元素,從而對容器中的元素進行修改。如果不使用引用,循環(huán)中得到的只是元素的副本,無法對原數組或容器中的元素進行修改。

Alice: 25
Bob: 30
Charlie: 35

輸出:

2 4 6 8 10

通過int& num,我們可以訪問并修改vec容器中的每個元素。

5. 使用const保護元素

有時候我們不希望在循環(huán)中修改元素,可以使用const來確保元素不會被修改:

#include <iostream>
#include <vector>
int main() {
    std::vector<int> vec = {10, 20, 30, 40, 50};
    // 使用 const 來防止修改元素
    for (const int& num : vec) {
        std::cout << num << " ";
    }
    return 0;
}

這里的const int&確保了num只是一個只讀的引用,無法在循環(huán)內部對其進行修改。

范圍循環(huán)的使用注意事項

迭代副本與引用

  • 如果在范圍循環(huán)中不使用引用(如for (int num : vec)),則會遍歷每個元素的副本,無法對原數組或容器進行修改。
  • 如果使用引用(如for (int& num : vec)),則可以直接修改原數組或容器的元素。

常量性保護

  • 通過使用const關鍵字,可以確保元素在循環(huán)中不會被修改,確保數據的安全性。

適用范圍

  • 范圍循環(huán)適用于所有可以使用begin()end()方法的容器,例如數組、std::vector、std::list、std::set等STL容器。

不可用于某些C++98容器

  • C++98/03標準中的某些自定義容器沒有提供begin()end()方法,因此無法直接使用范圍循環(huán)。

總結

范圍循環(huán)是C++中遍歷容器、數組的一種簡潔、直觀的方式,能減少代碼的復雜度,提高代碼的可讀性。通過對引用與常量的合理使用,可以更靈活地控制數據訪問與修改。

到此這篇關于C++中的for-each循環(huán)的文章就介紹到這了,更多相關C++ for-each循環(huán)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關文章

  • C語言數據結構之棧與隊列的相互實現

    C語言數據結構之棧與隊列的相互實現

    這篇文章主要為大家詳細介紹了如何利用C語言相互實現數據結構中的棧與隊列,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-07-07
  • C++算法與泛型算法(algorithm、numeric)

    C++算法與泛型算法(algorithm、numeric)

    這篇文章主要介紹了C++算法與泛型算法(algorithm、numeric),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • C++實現和電腦對戰(zhàn)三子棋實例

    C++實現和電腦對戰(zhàn)三子棋實例

    大家好,本篇文章主要講的是C++實現和電腦對戰(zhàn)三子棋實例,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Qt中QTextEdit和QPlainTextEdit控件的實現

    Qt中QTextEdit和QPlainTextEdit控件的實現

    本文主要介紹了Qt中QTextEdit和QPlainTextEdit控件的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-04-04
  • Linux下Select多路復用實現簡易聊天室示例

    Linux下Select多路復用實現簡易聊天室示例

    大家好,本篇文章主要講的是Linux下Select多路復用實現簡易聊天室示例,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Qt 中集成mqtt協(xié)議的使用方法

    Qt 中集成mqtt協(xié)議的使用方法

    文章介紹了如何在工程中引入qmqtt庫,并通過聲明一個單例類來暴露訂閱到的主題數據,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2025-02-02
  • 關于C++復制構造函數的實現講解

    關于C++復制構造函數的實現講解

    今天小編就為大家分享一篇關于關于C++復制構造函數的實現講解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • C語言實現通訊錄程序

    C語言實現通訊錄程序

    這篇文章主要為大家詳細介紹了C語言實現通訊錄程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • C++中平衡二叉搜索樹的模擬實現

    C++中平衡二叉搜索樹的模擬實現

    二叉搜索樹雖可以縮短查找的效率,但如果數據有序或接近有序二叉搜索樹將退化為單支樹,查找元素相當于在順序表中搜索元素,效率低下,所以本文給大家介紹了C++平衡二叉的搜索樹模擬實現方法,需要的朋友可以參考下
    2023-09-09
  • 華為云開發(fā)工具CodeArts IDE for C/C++開發(fā)使用指南

    華為云開發(fā)工具CodeArts IDE for C/C++開發(fā)使用指南

    CodeArts IDE是一個集成開發(fā)環(huán)境(IDE),它提供了開發(fā)語言和調試服務,本文主要介紹了華為云開發(fā)工具CodeArts IDE for C/C++ 開發(fā)使用指南,感興趣的可以了解一下
    2023-08-08

最新評論