~~~~我的生活,我的点点滴滴!!
C++ 11 for 新用法
语法:
for ( object obj : array )
{
...
}
例子:
输出:
10 11 12 13 14 15
10 11 12 13 14 15
20 22 24 26 28 30
#include <iostream>
#include <vector>
int main()
{
std::vector<int> v = {10, 11, 12, 13, 14, 15};
//使用auto方便许多,不需要我们关心是什么类型
for (auto i : v)
std::cout << i << ' ';
std::cout << '\n';
//使用值方式也是可以的
for (int i : v)
std::cout << i << ' ';
std::cout << '\n';
// 使用引用方式(const也可以)
for (int &i : v)
{
//由于使用的是引用,会改原始值
i *= 2;
std::cout << i << ' ';
}
}
for each 新风格
C++11 还为我们提供了新的for each 风格,注意for 和 each 有空格,并不是C#语言的 foreach
语法:
for each (object var in collection_to_loop)
{
//...
}
例子:
std::vector<int> v = {10, 11, 12, 13, 14, 15};
for each( auto &k in testArray )
{
k += 10;
}
for each( auto k in testArray )
{
cout << k <<'\t';
}
使用auto & 即高效又快捷,我真心爱死auto这个新特性了
输出:
2021 22 23 24 25
新风格的 for 循环书写起来更加简洁,同时也避免了数组索引越界的问题。