c++的这个循环其实和python的for很像了,如果经常使用python看到c++中的for 可以这么用一定会感觉很熟悉。
形式
for(一个变量 : 一个序列)
循环体
作用
这种写法是啥意思呢?
很简单,每一轮for循环一个变量
都会被替换成一个序列
中的一个元素。
然后我们可以直接拿着这个变量去循环体中做操作。
举个例子
这里用普通的for和范围for循环分别举例,来对比看看有什么好处
#include <iostream>
#include <vector>
using namespace std;
//这两段代码都是要循环输出vector中的所有元素
//这里先自己循环输入vector
vector<int> v;
for(int i; cin>>i;)
v.push_back(i)
cout << endl;
//第一串代码,使用原始方式访问vector中所有元素
cout << "这是使用普通for循环的结果" << endl;
for(vector<int>::size_type i = 0; i != v.size(); i++)
cout << v[i] << " ";//每个元素之间用空格隔开
cout << '\n'<< endl;
//第二串代码,使用范围for循环访问vector中所有元素
cout << "这是使用范围for循环的结果" <<endl;
for(auto i; v)
cout << i << " ";
使用注意事项
- 那
一个变量
的类型最好声明为auto
类型,意思是,这个变量的类型跟随后面后一个序列
中元素的类型,与元素类型保持一致 - 注意,中间是个
:
冒号,不是分号,不是分号,不是分号!!!