设为首页 加入收藏

TOP

G.3 序列容器的其他成员(2)
2013-10-07 15:49:14 来源: 作者: 【 】 浏览:74
Tags:G.3 序列 容器 其他 成员

G.3  序列容器的其他成员(2)

模板vector还包含表G.7列出的方法。其中,a是vector容器,n是x::size_type型整数。

表G.7vector的其他操作

    < xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

   

a.capacity( )

返回在不要求重新分配内存的情况下,矢量能存储的元素总量

a.reserve(n)

提醒a对象:至少需要存储n个元素的内存。

调用该方法后,容量至少为n个元素。如果n大于

当前的容量,则需要重新分配内存。如果n大于

a.max_size( ),该方法将引发length_error异常

模板list还包含表G.8列出的方法。其中,a和b是list容器;T是存储在链表中的类型,如int;t是类型为T的值;i和j是输入迭代器;q2和p是迭代器;q和q1是可解除引用的迭代器;n是x::size_type型整数。该表使用了标准的STL表示法[i, j),这指的是从i到j(不包括j)的区间。

表G.8list的其他操作

   

   

a.splice(p, b)

将链表b的内容移到链表a中,并将它们插在p之前

a.splice(p, b, i)

i指向的链表b中的元素移到链表ap位置之前

a.splice(p, b, i, j)

将链表b[ij)区间内的元素移到链表ap位置之前

a.remove(const T& t)

删除链表a中值为t的所有元素

a.remove_if(Predicate pred)

如果i是指向链表a中元素的迭代器,

则删除pred(*i)true的所有值(Predicate

是布尔值函数或函数对象,参见第15章)

a.unique( )

删除连续的相同元素组中除第一个元素之外

的所有元素

a.unique(BinaryPredicate bin_pred)

删除连续的bin_pred(*i, *(i - 1))true的元素

组中除第一个元素之外的所有元素

BinaryPredicate是布尔值函数或函数对象,

参见第15章)

a.merge(b)

使用为值类型定义的<运算符,将链表b与链

a的内容合并。如果链表a的某个元素

与链表b的某个元素相同,则a中的元素将

放在前面。合并后,链表b为空

a.merge(b, Compare comp)

使用comp函数或函数对象将链表b与链表

a内容合并。如果链a的某个元素与链表

b的某个元素相同,则链表a中的元素将

放在前面。合并后,链表b为空

续表

   

   

a.sort( )

使用<运算符对链表a进行排序

a.sort(Compare comp)

使用comp函数或函数对象对链表a进行排序

a.reverse( )

将链表a中的元素顺序反转

forward_list的操作与此类似,但由于模板类forward_list的迭代器不能后移,有些方法必须调整。因此,用insert_after( )、erase_after ( )和splice_after( )替代了insert( )、erase( )和splice( ),这些方法都对迭代器后面而不是前面的元素进行操作。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇G.1 STL和C++11 下一篇G.3 序列容器的其他成员(1)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Shell 传递参数 (2025-12-25 00:50:45)
·Linux echo 命令 - (2025-12-25 00:50:43)
·Linux常用命令60条( (2025-12-25 00:50:40)
·nginx 监听一个端口 (2025-12-25 00:19:30)
·整个互联网就没有一 (2025-12-25 00:19:27)