原文链接:https://blog.csdn.net/qq_37292654/article/details/109407781
C++11中添加了一种基于范围(range-based)的新循环,类似于python中的for in,简化了循环语句的代码形式,适用于数组或容器类。如对数组:
#include
using namespace std;
int main() {
int a[5] = { 1,3,5,7,9 };
for (int i : a) {
cout << i << endl;
}
return 0;
}
也可以这样:
#include
using namespace std;
int main() {
for (int i : { 1,3,5,7,9 }) {
cout << i << endl;
}
return 0;
}
其中对i引用,还可以直接修改i的内容,比如对于容器类:
#include
#include
using namespace std;
int main() {
vector x;
for (int i : {1, 3, 5, 7, 9}) {
x.push_back(i);
}
for (int &i : x) {
i *= 2;
}
for (int i : x) {
cout << i << " ";
}
cout << endl;
return 0;
}
输出:
2 6 10 14 18