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循環後,代碼更簡潔了。