就是关于用迭代器的方法改写前面用vector下标写的一个分数程序,自己写了之后又能对迭代器多一点理解。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> score(11, 0); //初始化11个分数段
unsigned grade;
auto it = score.begin(); //迭代器指向第一个元素
while (cin >> grade)//输入流
{
if(grade <= 100) //只处理有效分数段
++*(it + grade/10);//对应分数段加一
}
//遍历输出迭代器
for (auto beg = score.cbegin(); beg != score.cend(); beg++)
{
cout << *beg << " ";
}
cout << endl;
//或使用范围for输出向量score
for (auto s : score)
{
cout << s << " ";
}
cout << endl;
}