一、list容器迭代器函数

函数性能
begin()返回指向容器中第一个元素的双向迭代器(正向迭代器)
end()返回指向容器中最初一个元素所在位置的下一个地位的双向迭代器。(正向迭代器)
rbegin()返回指向最初一个元素的反向双向迭代器
rend()返回指向第一个元素所在位置前一个地位的反向双向迭代器
cbegin()和 begin() 性能雷同,只不过在其根底上,正向迭代器减少了 const 属性,即不能用于批改元素
cend()和 end() 性能雷同,只不过在其根底上,正向迭代器减少了 const 属性,即不能用于批改元素
crbegin()和 rbegin() 性能雷同,只不过在其根底上,反向迭代器减少了 const 属性,即不能用于批改元素
crend()和 rend() 性能雷同,只不过在其根底上,反向迭代器减少了 const 属性,即不能用于批改元素

具体的性能不再阐明,可参考array容器中的阐明。list容器的迭代器和之前的array、vector等最大的不同在于:它的迭代器类型为双向迭代器,而不再是随机拜访迭代器。
如果p1,p2都是双向迭代器,那么
反对++p1、 p1++、 p1--、 p1++、 *p1、 p1==p2 以及 p1!=p2;
不反对p1[i]、p1-=i、 p1+=i、 p1+i 、p1-i、p1<p2、 p1>p2、 p1<=p2、 p1>=p2。

二、实例

1、遍历list容器元素

i = 0;    listIter = listInt.begin();    for (; listIter != listInt.end(); listIter++)    {        std::cout << " sort listInt[" << i++ << "]=" << *listIter << std::endl;    }

其余的函数性能和vector等相似,不再阐明应用办法

留神点:

1、list 容器不反对随机拜访,未提供下标操作符 [] 和 at() 成员函数,也没有提供 data() 成员函数
2、 front() 和 back() 成员函数,能够别离取得 list 容器中第一个元素和最初一个元素的援用模式,必要时还能批改其值
3、若心愿拜访list容器其余地位的元素,只能通过list容器的迭代器,也能够通过迭代器对指定元素的值进行批改