设为首页 加入收藏

TOP

G.2 大部分容器都有的成员(2)
2013-10-07 15:49:33 来源: 作者: 【 】 浏览:67
Tags:G.2 大部分 容器 有的 成员

G.2  大部分容器都有的成员(2)

temperatures参数将使得Bag被谓词为vector<int>,而typename Bag::value-type被谓词为vector<int>::value_type,进而为int。

所有的容器都还可以包含表G.2列出的成员函数或操作。其中,X是容器类型,如vector<int>;而T是存储在容器中的类型,如int。另外,a和b是类型为X的值;u是标识符;r是类型为X的非const值;rv是类型为X的非const右值,而移动操作是C++(www.cppentry.com)11新增的。

表G.2为所有容器定义的操作

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

   

X u;

创建一个名为u的空对象

X( )

创建一个空对象

X(a)

创建对象x的拷贝

X u(a)

ua的拷贝(复制构造函数)

X u = a;

ua的拷贝(复制构造函数)

r = a

r等于a的值(复制赋值)

X u(rv)

u等于rv的原始值(移动构造函数)

X u = rv

u等于rv的原始值(移动构造函数)

a = rv

u等于rv的原始值(移动赋值)

(&a)->~X( )

a的每个元素执行析构函数

begin( )

返回一个指向第一个元素的迭代器

end( )

返回一个指向超尾的迭代器

cbegin( )

返回一个指向第一个元素的const迭代器

cend( )

返回一个指向超尾的const迭代器

size( )

返回元素数目

maxsize( )

返回容器的最大可能长度

empty( )

如果容器为空,则返回true

swap( )

交换两个容器的内容

= =

如果两个容器的长度相同、包含的元素相同且

元素排列的顺序相同,则返回true

! =

a!=b返回!(a= =b)

使用双向或随机迭代器的容器(vector、list、deque、array、set和map)是可反转的,它们提供了表G.3所示的方法。

表G.3为可反转容器定义的类型和操作

   

   

X::reverse_iterator

指向类型T的反向迭代器

X::const_reverse_iterator

指向类型T的const反向迭代器

a.rbegin( )

返回一个反向迭代器,指向a的超尾

a.rend( )

返回一个指向a的开头的反向迭代器

a.crbegin( )

返回一个const反向迭代器,指向a的超尾

a.crend( )

返回一个指向a的开头的const反向迭代器

无序集合(set)和无序映射(map)无需支持表G.4所示的可选容器操作,但其他容器必须支持。

表G.4可选的容器操作

   

   

< 

如果a按词典顺序排在b之前,则a<b返回true

> 

a>b返回b<a

<=

a<=b返回!(a>b)

>=

a>=b返回!(a<b)

容器的>运算符假设已经为值类型定义了>运算符。词典比较是一种广义的按字母顺序排序,它逐元素地比较两个容器,直到两个容器中对应的元素相同时为止。在这种情况下,元素对的顺序将决定容器的顺序。例如,如果两个容器的前10个元素都相同,但第一个容器的第11个元素比第二个容器的第11个元素小,则第一个容器将排在第二个容器之前。如果两个容器中的元素一直相同,直到其中一个容器中的元素用完,则较短的容器将排在较长的容器之前。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇G.4 set和map的其他操作 下一篇G.2 大部分容器都有的成员(1)

评论

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

·常用meta整理 | 菜鸟 (2025-12-25 01:21:52)
·SQL HAVING 子句:深 (2025-12-25 01:21:47)
·SQL CREATE INDEX 语 (2025-12-25 01:21:45)
·Shell 传递参数 (2025-12-25 00:50:45)
·Linux echo 命令 - (2025-12-25 00:50:43)