溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++11范圍for語句怎么使用

發(fā)布時間:2021-11-25 16:23:38 來源:億速云 閱讀:160 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要講解了“C++11范圍for語句怎么使用”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++11范圍for語句怎么使用”吧!

C++的新風格

如果是10年前,C++語言也好,程序員也好,應該是相當自信的。但是近年來,各種新語言,新架構不斷涌現(xiàn),C++的地位雖然談不上動搖,但是許多場合被人搶了風頭也是事實。因此C++的代碼風格也在發(fā)生改變。今天的范圍for語句就算是一個例子。

功能介紹

循環(huán)最常見的的場景就是對數(shù)據(jù)集合的每一個元素進行某種操作。C++11之前,大致是這樣的程序:

int a[] = {1, 2, 3, 4};

int sum = 0;

for(int i = 0 ; i < sizeof(a)/sizeof(a[0]); ++i){

        sum += a[i];


或者是這樣

vector<int> v{1, 2, 3,4};

int sum = 0;

for(auto it = v.begin(); it != v.end(); it++){

    sum += *it;

}

可以看出,雖然目的雖然只是對數(shù)據(jù)集合中的每個元素進行求和,還是要做如下幾件事:

  1. 定義和初始化循環(huán)變量

  2. 判斷循環(huán)條件

  3. 調(diào)整循環(huán)變量


雖然C++程序員已經(jīng)熟悉了這些過程,但還是麻煩了一些。大概是因為這個原因,C++11引入了范圍for語句:

nt array[]{1, 2, 3, 4};

int sum = 0;

 for(int a : array){

     sum += a;

}

vector<int> vect{1, 2, 3, 4};

int sum = 0;

for(int v: vect){

    sum += v;

}

for(int v : vect)讀作“對于vect中的每一個v”。應該說,程序簡練了不少。

運用條件

是不是所有地數(shù)據(jù)集合可以交給范圍for遍歷呢?答案是否定的。

數(shù)據(jù)v被范圍for遍歷的條件是,該數(shù)據(jù)支持v.begin()/v.end()或者是begin(v)/end(v)并返回一個迭代器。STL中的容器都滿足上述條件。對于內(nèi)置類型的數(shù)組來講C++編譯器提供了等同于上述接口的機制,因此也可以在范圍for中使用。

感謝各位的閱讀,以上就是“C++11范圍for語句怎么使用”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對C++11范圍for語句怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI