最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++11基于范圍的for循環(huán)代碼示例

 更新時(shí)間:2024年06月26日 09:13:22   作者:大柏怎么被偷了  
這篇文章主要給大家介紹了關(guān)于C++11基于范圍的for循環(huán)的相關(guān)資料,范圍for循環(huán)(也稱為C++11的基于范圍的for循環(huán))是一種簡(jiǎn)化迭代容器(如數(shù)組、向量、列表等)元素的方式,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

范圍for的引入

int main(void)
{
	int arr[] = { 1,2,3,4,5,6,7,8,9 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	for (int i = 0; i < sz; i++)
	{
		cout << arr[i] << " ";
	}
	return 0;
}

在C++98里面遍歷一個(gè)數(shù)組,或者說(shuō)是一個(gè)有范圍的集合而言,對(duì)應(yīng)程序員來(lái)說(shuō)明循環(huán)的范圍是多余的。

因此C++11中引入了基于范圍的for循環(huán),for循環(huán)后面的括號(hào)由冒號(hào)“:”分為倆部分:第一部分是范圍內(nèi)用于迭代的變量,第二部分則表示被迭代的范圍。

for(declaration : range)
{}

declaration是變量聲明,用于存儲(chǔ)每次迭代中的元素值,可以是自定義的變量名,也可以是已有的變量名。
range是要遍歷的容器或者迭代的對(duì)象。

【注意】與普通循環(huán)類似,可以用continue來(lái)結(jié)束本次循環(huán),也可以用break來(lái)跳出整個(gè)循環(huán)。

int main(void)
{
	int arr[] = { 1,2,3,4,5,6,7,8,9 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	for (auto a : arr)
	{
		cout << a << " ";
	}
	return 0;
}

范圍for的使用條件

1.for循環(huán)迭代的范圍必須是確定的。

(1)對(duì)于數(shù)組而言,就是數(shù)組中第一個(gè)元素和最后一個(gè)元素的范圍

(2)對(duì)于類而言,應(yīng)該提供begin和end的方法,begin和end就是for循環(huán)迭代的范圍

2.迭代的對(duì)象要實(shí)現(xiàn)++和==的操作。

對(duì)于數(shù)組而言,就是數(shù)組中第一個(gè)元素和最后一個(gè)元素的范圍;對(duì)于類而言,應(yīng)該提供beginend的方法,beginend就是for循環(huán)迭代的范圍。

注意:以下代碼就有問(wèn)題,因?yàn)?code>for的范圍不確定

void TestFor(int array[])
{
    for(auto& e : array)
        cout<< e <<endl;
}

迭代的對(duì)象要實(shí)現(xiàn)++和==的操作

關(guān)于這個(gè)問(wèn)題,我將在后續(xù)文章進(jìn)行講解,敬請(qǐng)期待,現(xiàn)在先了解一下基礎(chǔ)概念

迭代器

迭代器(Iterator)是一種對(duì)象,用于遍歷容器中的元素。它提供了一種統(tǒng)一的訪問(wèn)容器元素的方式,使得用戶可以通過(guò)相同的方式訪問(wèn)不同類型的容器。

迭代器一般具有以下操作:

  • 通過(guò)*運(yùn)算符獲取當(dāng)前迭代器指向的元素
  • 通過(guò)++運(yùn)算符將迭代器向后移動(dòng)到下一個(gè)元素
  • 通過(guò)==運(yùn)算符判斷兩個(gè)迭代器是否相等
  • 通過(guò)!=運(yùn)算符判斷兩個(gè)迭代器是否不相等

使用范圍for循環(huán)時(shí),可以使用迭代器來(lái)表示集合的起始位置和結(jié)束位置,范圍for循環(huán)會(huì)自動(dòng)遍歷整個(gè)集合中的元素,不需要手動(dòng)控制迭代器的移動(dòng)和判斷。這樣就避免了使用傳統(tǒng)的for循環(huán)需要手動(dòng)管理迭代器的復(fù)雜性。

總結(jié)

到此這篇關(guān)于C++11基于范圍的for循環(huán)的文章就介紹到這了,更多相關(guān)C++基于范圍的for循環(huán)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++實(shí)現(xiàn)字符串和整數(shù)的相互轉(zhuǎn)換

    C++實(shí)現(xiàn)字符串和整數(shù)的相互轉(zhuǎn)換

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)字符串和整數(shù)的相互轉(zhuǎn)換的方法,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C++有一定的幫助,需要的可以參考一下
    2023-01-01
  • C語(yǔ)言文件讀寫(xiě)操作介紹與簡(jiǎn)單示例

    C語(yǔ)言文件讀寫(xiě)操作介紹與簡(jiǎn)單示例

    這篇文章主要給大家介紹了關(guān)于C語(yǔ)言文件讀寫(xiě)操作的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • C++取余符號(hào)%的實(shí)現(xiàn)示例

    C++取余符號(hào)%的實(shí)現(xiàn)示例

    本文主要介紹了C++取余符號(hào)%的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2026-02-02
  • C++實(shí)現(xiàn)掃雷小游戲(控制臺(tái)版)

    C++實(shí)現(xiàn)掃雷小游戲(控制臺(tái)版)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)控制臺(tái)版的掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C語(yǔ)言詳解實(shí)現(xiàn)字符菱形的方法

    C語(yǔ)言詳解實(shí)現(xiàn)字符菱形的方法

    字符菱形是指給定一個(gè)字符,用它構(gòu)造一個(gè)對(duì)角線長(zhǎng)5個(gè)字符,傾斜放置的菱形。輸入輸入只有一行, 包含一個(gè)字符。輸出該字符構(gòu)成的菱形
    2022-04-04
  • C語(yǔ)言 數(shù)據(jù)結(jié)構(gòu)鏈表的實(shí)例(十九種操作)

    C語(yǔ)言 數(shù)據(jù)結(jié)構(gòu)鏈表的實(shí)例(十九種操作)

    這篇文章主要介紹了C語(yǔ)言 數(shù)據(jù)結(jié)構(gòu)鏈表的實(shí)例(十九種操作)的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • C語(yǔ)言 位域詳解及示例代碼

    C語(yǔ)言 位域詳解及示例代碼

    本文主要介紹C語(yǔ)言 位域的知識(shí),這里整理了相關(guān)資料,并附示例代碼及詳解,有興趣的小伙伴可以參考下
    2016-08-08
  • OpenCV實(shí)現(xiàn)圖像拼接案例

    OpenCV實(shí)現(xiàn)圖像拼接案例

    這篇文章主要介紹了OpenCV實(shí)現(xiàn)圖像拼接案例,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-08-08
  • C++ std::valarray 用法實(shí)例詳解

    C++ std::valarray 用法實(shí)例詳解

    std::valarray是C++標(biāo)準(zhǔn)庫(kù)中用于數(shù)值數(shù)組計(jì)算的容器,支持高性能的向量化運(yùn)算,其核心特性包括元素級(jí)運(yùn)算、性能優(yōu)化、子集訪問(wèn)和數(shù)學(xué)函數(shù)支持,本文給大家介紹C++ std::valarray用法詳解,感興趣的朋友一起看看吧
    2026-04-04
  • 詳解C/C++中new?A與new?A()的區(qū)別

    詳解C/C++中new?A與new?A()的區(qū)別

    這篇文章主要通過(guò)一些簡(jiǎn)單的示例為大家詳細(xì)介紹一下C/C++中new?A與new?A()的區(qū)別,文中的示例代碼簡(jiǎn)潔易懂,快跟隨小編一起學(xué)習(xí)起來(lái)吧
    2023-07-07

最新評(píng)論

新绛县| 绍兴县| 海口市| 浠水县| 修武县| 竹溪县| 许昌市| 怀仁县| 靖边县| 宜兰县| 太白县| 曲麻莱县| 南昌县| 密云县| 衢州市| 天水市| 新蔡县| 长顺县| 莱芜市| 广东省| 巴林左旗| 烟台市| 宜宾市| 麻阳| 丰县| 广宁县| 宜昌市| 即墨市| 沁水县| 辽中县| 惠安县| 泰安市| 宜州市| 两当县| 双辽市| 扎赉特旗| 大安市| 永仁县| 宁明县| 阿拉善左旗| 河北区|