注:文章部分引自博文:https://blog.csdn.net/lixiaogang_theanswer/article/details/79969012
1.介绍
采用c++11
新特性中的基于范围for
循环,不必去操心数组越界(边界)问题,因此非常的方便,特别是在项目开发中。
语法形式:
for(declaration:expression)
{
statement
}
其中:
expression
部分表示一个对象,用于表示一个序列。
declaration
部分负责定义一个变量,该变量将被用于访问序列中的基础元素。
每次迭代,declaration
部分的变量会被初始化为expression
部分的下一个
元素值。
2.基于范围的for循环的特点
(1)和普通循环一样,也可以采用continue
跳出循环的本次迭代。
(2)用break
来终止整个循环
使用实例
使用基于范围的for循环可以提升自己的编码速度,减少代码量。下面是使用实例:
注意其中的变量类型可以直接用 auto。
#include<bits/stdc++.h>
using namespace std;
int main() {
string s="123";
vector<int> v(3,1);
map<int,int> mapp;
mapp[1]=1;mapp[2]=2;
int a[5]={1,2,3,4,5};
set<int> sett;
sett.insert(1);sett.insert(2);
for(char c:s) cout<<c;
for(int i:v) cout<<i;
for(int i:a) cout<<i;
for(int i:sett) cout<<i;
for(pair<int,int> it:mapp) cout<<it.first<<" "<<it.second<<endl;
return 0;
}