当前位置:主页   - 电脑 - 程序设计 - C/C++
C++容器与迭代器
来源:网络   作者:   更新时间:2012-02-16
收藏此页】    【字号    】    【打印】    【关闭

  * 容器的迭代器还有几种:

   + iterator:正常迭代器(常用)

   + reverse_iterator:反向迭代器(有时也用)

   - rbegin(),rend()//返回反向迭代器

   + const_iterator:常量迭代器

   + const_reverse_iterator:

 iterator find(数据){
 for( 从beg;!=end;it ++)
  if(*it==数据)
   return it;
 return end;//未找到,返回无效迭代器
}//查询
*it = new_data;//更新迭代器

  --------------------------------

   所有的容器在插入数据时会自动加长,程序员不必关心空间问题。

   容器的分类:

   + (sequence)

   - vector

   - list

   - deque

   序列式容器共性

   构造函数:constructor(int n);constructor(int n,T val)

   调整大小:resize(int n),resize(int n,T val)一般用来加长,不一定能缩短

   赋值:assign(n,val),放入n个相同的值

   assign(区间(beg——end),val),把指定区间的内容放入容器

   插入:insert(pos/*迭代器*/,n,val),insert(pos,区间)

   毛插:push_back(val);//在末尾插入新数据

   取得首尾元素:front(),back()

   尾删:pop_back();//删除尾部元素

  -----------------------------------

   序列式容器不同点vector 类似于数组,也支持'[]',不做越界检查,但更安全;能自动增长。

   vector.at(下标);//如果越界会throw异常,返回的是引用

   vector.reserve(n)//保留空间(没必要用)

   vector.capacity()//目前容量(没必要用),用size()

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明