STL_vector

     /*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;
}*/

posted @ 2017-08-25 11:19  衣带渐宽、为伊憔悴  阅读(80)  评论(0编辑  收藏  举报