迭代器

来源:互联网 发布:淘宝免费下载 编辑:程序博客网 时间:2024/05/16 12:01
迭代器 iterator:检查容器内元素并遍历元素的数据类型。
各容器都定义了自己的iterator类型,用于访问容器内的元素。即每个容器都定义了一个名为iterator的类型,这种类型支持迭代器的各种操作。
 
map<char,vector<Msg> >::iterator the;
the变量,它的数据类型是由map <char,vector<Msg> >定义的iterator类型。


    每个容器都定义了一个名为begin和end的函数,用于返回迭代器,如果容器中有元素的话,由begin返回的迭代器指向第一个元素。
    if(the==rec.end())
         the=rec.begin();  //如果容器不为空,则the指向元素rec[0];
    由end操作返回的迭代器指向容器的“末端元素的下一个”,它指向了一个不存在的元素。如果容器为空,begin和end返回的迭代器相同。


*the=0;
假设the指向rec的第一个元素,那么*the和rec[0]就是指向同一个元素。
迭代器使用自增操作符向前移动迭代器指向容器下一个元素。逻辑上,迭代器的自增操作和int类型对象的自增操作类似。
end操作返回的迭代器不指向任何元素,因此不能对它进行解引用和自增操作。
原创粉丝点击