/*1. 迭代器(iterator)是一种检查容器内元素并遍历元素的数据类型。
(1) 每种容器类型都定义了自己的迭代器类型,如vector:
vector<int>::iterator iter;这条语句定义了一个名为iter的变量,它的数据类型是由vector<int>定义的iterator类型。
还可以定义struct类型
struct review
{
string title;
int n;
};
vector<review>vec;
(2)使用迭代器读取vector中的每一个元素:
vector<int>vec(10,1);
for(iter=vec.begin();iter!=end();++iter)
*iter=2;
(3)反向迭代器(或者for(iter=vec.begin()-1;iter>=vec.end();--iter))
vector<int>::reverse_iterator iter;
vector<int>vec(5,1);
for(iter=vec.rbegin();iter<vec.rend();++iter)
cout<<*iter;
(4)vector<int>::const_iterator citer与const vector<int>::iterator iter的区别
vector<int>::const_iterator citer;
for(citer=vec.begin();citer!=vec.end();++citer)
{
cout<<*citer;//ok
*citer=3;//error
}
const vector<int>::iterator iter;
iter=vec.begin();
*iter=0;//ok
++iter;// error 无法进行循环访问
*/
/*#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int>::reverse_iterator iter;
vector<int>vec(5,1);
for(iter=vec.begin()-1;iter>=vec.end();--iter)
cout<<*iter<<' ';
return 0;
}*/