中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

發布時間:2021-11-25 16:23:38 來源:億速云 閱讀:164 作者:iii 欄目:大數據

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

C++的新風格

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

功能介紹

循環最常見的的場景就是對數據集合的每一個元素進行某種操作。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;

}

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

  1. 定義和初始化循環變量

  2. 判斷循環條件

  3. 調整循環變量


雖然C++程序員已經熟悉了這些過程,但還是麻煩了一些。大概是因為這個原因,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”。應該說,程序簡練了不少。

運用條件

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

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

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

向AI問一下細節

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

AI

永和县| 平度市| 瑞丽市| 成都市| 镇原县| 前郭尔| 酒泉市| 习水县| 岳阳市| 合肥市| 博客| 施秉县| 湖南省| 通榆县| 黑山县| 澜沧| 南乐县| 平顺县| 文成县| 佛坪县| 焉耆| 北海市| 彭水| 怀集县| 吐鲁番市| 盐边县| 冕宁县| 望谟县| 尉犁县| 龙口市| 仙游县| 安达市| 环江| 青川县| 蒙阴县| 土默特左旗| 颍上县| 陈巴尔虎旗| 沽源县| 万盛区| 南澳县|