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

C?++迭代器iterator在string中使用方法介紹

 更新時間:2022年10月28日 14:14:33   作者:潮.eth  
迭代器是一種檢查容器內(nèi)元素并遍歷元素的數(shù)據(jù)類型。迭代器是一個變量,提供對一個容器中的對象的(間接)訪問方法,并且定義了容器中對象的范圍。迭代器可以指向容器中的某個元素,通過迭代器就可以對非數(shù)組(存儲空間不連續(xù))的數(shù)據(jù)結(jié)構(gòu)進(jìn)行遍歷

一、正向迭代器

【例子】

//正向迭代器
void test1()
{
	string str1 = "abcdef";
	cout << "讀取字符串:" << endl;
	string::iterator it1 = str1.begin();
	while (it1 != str1.end())
	{
		cout << *it1 << " ";
		it1++;
	}
	cout << endl;
	cout << "每個字母向后移動一位:" << endl;
	string::iterator it2 = str1.begin();
	while (it2 != str1.end())
	{
		*it2 +=1;
		cout << *it2 << " ";
		it2++;
	}
	cout << endl;
}

【運行結(jié)果】

二、正向迭代器(只讀數(shù)據(jù))

const_iterator begin( ) const;

這種迭代器,只支持讀,不支持修改數(shù)據(jù)。

【例子】

//只讀正向迭代器
void test2()
{
	const string str1 = "abcdef";
	cout << "只能讀取字符串:" << endl;
	string::const_iterator it1 = str1.begin();
	while (it1 != str1.end())
	{
		cout << *it1 << " ";
		it1++;
	}
	cout << endl;
}

【問題】

為什么不能直接在 string::iterator it 前面加const?

答:這樣的話,const修飾的是it,it將無法被修改,并不是*it無法被修改。

it無法被修改的后果是無法遍歷。

三、反向迭代器

作用:從后往前讀。

【例子】

//反向迭代器
void test3()
{
	string str1 = "abcdef";
	cout << "反向讀取字符串:" << endl;
	string::reverse_iterator it1 = str1.rbegin();
	while (it1 != str1.rend())
	{
		*it1 += 1;
		cout << *it1 << " ";
		it1++;
	}
	cout << endl;
}

【運行結(jié)果】

四、反向迭代器(只讀)

【例子】

//反向迭代器(只讀)
void test4()
{
	const string str1 = "abcdef";
	cout << "反向只讀讀取字符串:" << endl;
	string::const_reverse_iterator it1 = str1.rbegin();
	while (it1 != str1.rend())
	{
		cout << *it1 << " ";
		it1++;
	}
	cout << endl;
}

五、auto來替換這些特別長類型名

是不是感覺這些類型名特別長?別擔(dān)心,用auto試試。

//auto
void test5()
{
	cout << "auto的演示" << endl;
	const string str1 = "abcdef";
	cout << "反向只讀讀取字符串:" << endl;
	auto it1 = str1.rbegin();
	while (it1 != str1.rend())
	{
		cout << *it1 << " ";
		it1++;
	}
	cout << endl;
}

到此這篇關(guān)于C ++迭代器iterator在string中使用方法介紹的文章就介紹到這了,更多相關(guān)C ++迭代器iterator內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語言常見排序算法之交換排序(冒泡排序,快速排序)

    C語言常見排序算法之交換排序(冒泡排序,快速排序)

    這篇文章主要介紹了C語言常見排序算法之交換排序(冒泡排序,快速排序),冒泡排序即Bubble?Sort,類似于水中冒泡,較大的數(shù)沉下去,較小的數(shù)慢慢冒起來,假設(shè)從小到大,即為較大的數(shù)慢慢往后排,較小的數(shù)慢慢往前排
    2022-07-07
  • C++實現(xiàn)趣味掃雷游戲

    C++實現(xiàn)趣味掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)趣味掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • C語言實現(xiàn)醫(yī)院管理系統(tǒng)

    C語言實現(xiàn)醫(yī)院管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)醫(yī)院管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 最新評論

    桂林市| 唐海县| 靖宇县| 衡水市| 阳春市| 太仆寺旗| 尼勒克县| 杭州市| 乐安县| 达州市| 浮山县| 五大连池市| 澄迈县| 西乡县| 杭州市| 行唐县| 那曲县| 台山市| 铜陵市| 北安市| 西华县| 衡南县| 南川市| 上思县| 攀枝花市| 大同市| 孝义市| 壤塘县| 滨海县| 永定县| 乌鲁木齐市| 当雄县| 阜南县| 昌吉市| 临朐县| 江山市| 南涧| 贵定县| 梅河口市| 文安县| 永兴县|