C++增強for循環

         for循環是常見的代碼語句,常規的for循環如下

#include <iostream>

using namespace std;

int main()
{
	int array[] = { 1,1,2,3,5,8 };

	//常規for循環
	for (int i = 0; i < sizeof(array) / sizeof(array[0]); i++)
	{
		cout << array[i] << " ";
	}

	cout << endl;

	return 0;
}

        C++ 11有類型自動推導auto關鍵字,在for循環中可以使用,上面的數組輸出可以寫成下面這種形式:

        for (auto item : array)
	{
		cout << item << " ";
	}

        for(auto 元素 :數據集合),這種寫法在迭代一些容器時很方便,不用寫迭代器。例如,下面輸出multiset的內容:

#include <iostream>
#include <set>

using namespace std;

int main()
{
	multiset<int> ms = { 1,2,6,2,4,3,3,8 };

	//增強for循環輸出
	for (auto item : ms)
	{
		cout << item << " ";
	}
	cout << endl;

	//迭代器模式輸出
	for (multiset<int>::iterator it = ms.begin(); it != ms.end(); it++)
	{
		cout << *it << " ";
	}
	cout << endl;

	return 0;
}

       用了增強for循環後,代碼更簡潔了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章