码迷,mamicode.com
首页 > 其他好文 > 详细

forward_list

时间:2017-10-21 10:57:08      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:rgs   ras   war   nbsp   enter   修改   strong   位置   支持   

一、特性

单向链表,只支持单向顺序访问(不支持快速随机访问),是C++11标准新增的类型

可类比于数据结构——单(向)链表

1. 没有size操作

  • forward_list为了追求性能,省去了size操作

2. 没有反向容器的成员

成员 说明
reverse_iterator 按逆序寻址元素的迭代器
const_reverse_iterator 不能修改元素的逆序迭代器

c.rbegin()

c.rend()

返回指向 c 的尾元素和首元素之前位置的迭代器

c.crbegin()

c.crend()

返回const_reverse_iterator

 

3. 其迭代器不支持递减运算符

4. 并未定义insert、emplace和erase

  • 因为在forward_list中添加或删除元素与其他容器上的操作的实现方式不同,故forward_list定义了相似而不同的操作:insert_after、emplace_after和erase_after
  • 为了支持这些操作,forward_list定义了before_begin(),它返回一个首前迭代器

 

二、不支持的操作

操作 说明
c.pop_back()  
c.back() 返回 c 中尾元素的引用
c[n] 返回 c 中下标为 n 的元素的引用
c.at(n) 只适用于string、vector、deque、array

 

三、一些支持的操作

操作 说明
c.pop_front(args) vector和string不支持
c.push_front(args)  

c.before_begin()

c.cbefore_begin()

 
c.insert_after(args)  
c.erase_after(args)  

 

 

forward_list

标签:rgs   ras   war   nbsp   enter   修改   strong   位置   支持   

原文地址:http://www.cnblogs.com/xzxl/p/7702589.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!