C++遍歷容器的4種方式


定義一個map用來演示本次的遍歷:

	std::map<int, std::string> test;
	test.insert(std::make_pair(1, "Test"));
	test.insert(std::make_pair(2, "Product"));

方式1:利用迭代器

	//1.1 iterator顯示聲明
	for (std::map<int, std::string>::iterator iter = test.begin(); iter != test.end(); iter++)
	{
		std::cout << iter->second << std::endl;
	}

	//1.2 iterator auto關鍵字自動推斷類型
	for (auto iter = test.begin(); iter != test.end(); iter++)
	{
		std::cout << iter->second << std::endl;
	}

 

方式2:利用for each語法

	//2.1 for each,類型顯示聲明
	for each (std::pair<int, std::string> tt in test)
	{
		std::cout << tt.second << std::endl;
	}

	//2.2 for each, auto關鍵字自動推斷類型
	for each (auto tt in test)
	{
		std::cout << tt.second << std::endl;
	}

 

方式3:利用增強型for循環

	//3.1 增強型for循環
	for (auto iter : test)
	{
		std::cout << iter.second << std::endl;
	}

 

for(auto a:b)中b為一個容器,效果是利用a遍歷並獲得b容器中的每一個值,但是a無法影響到b容器中的元素。

for(auto &a:b)中加了引用符號,可以對容器中的內容進行賦值,即可通過對a賦值來做到容器b的內容填充。

 

方式4:如果是vector容器,可以直接采用下表訪問


免責聲明!

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



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