deque Class

标准模板库 (STL) 序列容器 deque 将给定类型的元素排列线性排列顺序中,并像向量,允许快速的随机访问的任何元素和高效的插入和删除容器的后面。但是,与不同的矢量,deque 类还支持高效的插入和删除容器的前面。

template <
   class Type, 
   class Allocator=allocator<Type> 
>
   class deque

参数

  • Type
    存储在 deque 元素数据类型。

  • Allocator
    表示存储分配器对象封装有关 deque 的分配和解除分配内存的详细信息的类型。此参数是可选的并且默认值是分配器 <Type>.

备注

选择的容器类型应通常基于搜索的类型,并插入所需的应用程序。向量应是首选的容器管理序列时随机访问的任何元素的时候,插入或删除的元素只是需要一个序列的末尾。性能的列表容器是上级时有效的插入和删除 (在恒定时间) 序列中的任何位置的内容非常珍贵。这样的操作序列的要求元素的副本和工作分配 (线性时间) 的序列中的元素数目成比例。

成员函数必须插入或删除序列中的元素时,会发生 Deque 重新分配:

  • 如果元素插入到空序列,或者如果元素被拭除留空序列,然后迭代器前面返回的开始结束会变得无效。

  • 如果元素插入的第一个位置的 deque,则所有迭代器,但没有指定现有元素的引用会变得无效。

  • 如果末尾的 deque,然后将插入元素结束和所有迭代器,但没有参照,将指定现有元素变得无效。

  • 如果元素被拭除前面的 deque,该迭代器和已拭除的元素的引用无效。

  • 如果最后一个元素将被拭除从 deque 的末尾,只有该迭代器的最后一个元素,并对已拭除的元素的引用无效。

否则,插入或删除元素使所有迭代器和引用。

22a9t119.collapse_all(zh-cn,VS.110).gif构造函数

deque

构造deque.若要设置新的内容提供了几个构造函数deque以不同的方式: 清空。 加载了指定数量的空元素。 内容移动或复制其他deque。 使用迭代器 ; 通过复制或移动内容 和一个元素复制到deque_Count倍。一些构造函数允许使用自定义allocator若要创建的元素。

22a9t119.collapse_all(zh-cn,VS.110).gifTypedef

allocator_type

一个类型,表示allocator类的deque对象。

const_iterator

一种类型提供了一个随机访问迭代器,可以访问和读取元素中的deque为const

const_pointer

提供指向中的元素的类型deque ,const.

const_reference

提供对引用中的元素的类型deque来读取,其他的操作const.

const_reverse_iterator

一种类型提供了一个随机访问迭代器,可以访问和读取元素中的deque与const。反向查看 deque。有关更多信息,请参见reverse_iterator Class

difference_type

一种类型提供了两个引用在同一元素的随机访问迭代器之间的差异, deque

迭代器

一种类型提供了一个随机访问迭代器,可以读取或修改任何元素中的deque

pointer

提供指向中的元素的类型deque

引用

提供了对存储在元素的引用类型deque

reverse_iterator

一种类型提供了一个随机访问迭代器,可以读取或修改元素deque。按相反的顺序查看 deque。

size_type

一种类型中的元素进行计数, deque

value_type

一个类型,表示存储在数据类型deque

22a9t119.collapse_all(zh-cn,VS.110).gif成员函数

assign

擦除从元素deque ,并将新序列的元素复制到目标deque

at

返回引用中的指定位置处的元素deque

back

返回的最后一个元素的引用deque

begin

返回地址中的第一个元素的随机访问迭代器deque

deque::cbegin

第一个元素中返回 const 迭代器deque

deque::cend

返回一个随机访问const迭代器,刚好指向之外的末尾deque

clear

清除所有的元素的deque

deque::crbegin

第一个元素中返回随机存取 const 迭代器deque查看按相反的顺序。

deque::crend

第一个元素中返回随机存取 const 迭代器deque查看按相反的顺序。

deque::emplace

插入到就地构造元素deque的指定位置。

deque::emplace_back

添加一个元素来结束构造deque

deque::emplace_front

添加一个元素,以便开始构造deque

empty

返回true如果deque包含零个元素,和false包含一个或多个元素。

end

返回一个随机访问迭代器的末尾之外的只是该点deque

擦除

删除元素或元素中的一系列deque从指定的位置。

front

返回引用中的第一个元素deque

get_allocator

返回一份allocator ,用来构造对象deque

插入

插入元素、 几个元素或某个范围的元素到deque的指定位置。

max_size

返回的最大可能长度deque

pop_back

擦除的结尾处的元素deque

pop_front

擦除的开始处的元素deque

push_back

将一个元素添加到末尾的deque

push_front

将元素添加到开始deque

rbegin

已冲销的第一个元素中返回随机访问迭代器deque

rend

返回一个随机访问迭代器高级的最后一个元素的点中已冲销deque

resize

指定新的大小为deque

deque::shrink_to_fit

放弃过多的容量。

size

返回元素中的deque

换用

交换两个元素deques。

22a9t119.collapse_all(zh-cn,VS.110).gif运算符

operator[]

返回对deque元素的指定位置。

deque::operator=

替换元素的deque与另一份deque

要求

标头: <deque>

请参见

参考

线程安全性对标准C++库中

标准模板库

其他资源

deque 成员

、向量、双端队列类成员