C++遍歷數組的幾種方式


1.傳統下標遍歷

int main( ){
    int a[10] = {1,2,3,4,5,6,7,8,9,10};
    for (int i=0;i<10;i++){
        cout<<a[i]<<endl;
    }
}

 

2.指針遍歷

我們知道C++中的數組名實際上是一個存放數組首元素地址的常量。並且數組是連續的空間,所以地址也是連續的。

所以,數組名即為數組首元素地址。數組名加數組長度-1即為數組尾元素地址。所以我們用指針來遍歷數組也是非常方便的。

int main( ){
    int a[10] = {1,2,3,4,5,6,7,8,9,10};
    for (int *p=a;p!=a+10;p++){
        cout<<*p<<endl;
    }
}

3.基於范圍 (range-based) 的for循環

這是C++11中增加的功能,可以方便的對同一類型的范圍數據做遍歷。

int main( ){
    int a[10] = {1,2,3,4,5,6,7,8,9,10};
    for (int i : a) {
        cout<< i <<endl;
    }
}

 4.使用迭代器來遍歷數組

迭代器是用來訪問容器內元素的類模板,雖然表現行為像指針,但是和指針有本質的區別。使用上,相較於指針,可以方便的使用成員函數begin()和end()來獲取遍歷開始地址和遍歷結束地址,同時,迭代器使用之后會自動回收。

int main( ){
    int a[10] = {1,2,3,4,5,6,7,8,9,10};
    for(int* p = begin(a);p!=end(a);p++){
        cout<<*p<<endl;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM