deque 类

具有给定元素的输入线性排列,因此,与矢量,启用对所有元素的快速随机访问有效的插入和删除在容器中返回。 但是,与矢量,deque 选件类还支持高效的插入和移除容器中的前面。

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

参数

  • Type
    要存储在双队列中的元素数据类型。

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

备注

容器类型选择通常应根据应用程序所需的搜索和插入的类型。 向量 应是托管顺序首选容器,当对所有元素的随机访问 premium,而元素插入或删除只需在序列末尾。 列表 容器的性能极佳,当有效的插入和移除 (在常数时) 时在任何位置在序列中 premium。 在序列元上执行这些操作需要元素复制和分配比例与元素数在序列 (线性时间)。

在成员函数必须序列,插入或清除元素、向量、双端队列重新分配发生:

  • 如果元素插入一个空序列,或者,如果清除元素出一个空序列,然后 启动 返回的迭代器早期和 结束时间 变为无效。

  • 如果元素插入到、向量、双端队列的第一个位置,则所有迭代器,但是,不引用,指定现有元素变为无效。

  • 如果一个元素插入到向量、取消排队的第一个位置 ,则所有迭代器将终止 ,但是不能指定现有元素的引用将变为无效。

  • 如果元素已清除上、向量、双端队列前面的,因此,只有该迭代器和对该清除的元素变为无效。

  • 如果最后一个元素在取消排列的末尾被清除,则只有到最终元素的迭代器和用于清除元素的引用将失效。

否则,插入或清除元素无效所有迭代器和引用。

构造函数

deque

构造提供一组新的 deque 内容以不同的方式若干构造函数的 deque. :null;用空元素指定数目的加载;从另一 deque移动或复制的内容;目录复制或移动使用迭代器;一个元素复制到 deque _Count 时间。 某些构造函数允许使用自定义 allocator 创建元素。

Typedef

allocator_type

表示 allocator 类型的类型 deque 对象。

const_iterator

提供可访问并读取 deque 中任意元素的随机访问迭代器的类型并作为 const。

const_pointer

deque中的一个元素提供指针的类型 const.

const_reference

提供读取和其他操作提供对组件的引用在 deque 作为 const.的类型

const_reverse_iterator

提供可访问并读取 deque 中任意元素的随机访问迭代器的类型并作为 const。 以相反的顺序取消队列。 有关更多信息,请参阅reverse_iterator 类

difference_type

引用位于同一 deque 的元素的两个随机访问迭代器之间的差异的类型。

迭代器

提供可读取或修改 deque 中任意元素的随机访问迭代器的类型。

指针

deque 中的元素提供指针的一种类型。

参考

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

reverse_iterator

提供可读取或修改 deque中任意元素的随机访问迭代器的类型。 以相反的顺序取消队列。

size_type

计算 deque 中元素数量的类型。

value_type

表示一类存储在 deque 中的数据类型。

成员函数

assign

deque 和复制的取消元素一个新序列到目标 deque的。

at

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

back

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

begin

返回一个随机访问迭代器,此迭代器用于访问 deque中的首个元素。

deque::cbegin

返回 deque 对象中的第一个元素的常量迭代器。

deque::cend

一个刚好指向受控序列的末尾之外的随机访问迭代器 const deque

clear

清除 deque 的所有元素。

deque::crbegin

返回一个随机访问迭代器的常量到在反向排序查看的 deque 的第一个元素。

deque::crend

返回一个随机访问迭代器的常量到在反向排序查看的 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中元素的数目。

swap

交换两个对象元素 deque.

运算符

operator[]

返回一个引用到 deque 元素的指定的位置。

deque::operator=

用另一 deque的副本替换 deque 的元素。

要求

标头: <取消队列>

请参见

参考

C++ 标准库中的线程安全

标准模板库

其他资源

deque 成员

、向量、双端队列类成员