Cpp Standard Library 简明教程

C++ Library - <deque>

Introduction

Deque 是 *D*ouble *E*nded *Que*ue 的缩写。它是一个可以改变其大小运行时的序列容器。容器是一个包含同类型数据的对象。序列容器按线性顺序严格存储元素。

deque 的元素可以分散在内存的不同块中。容器存储必要的信息以允许在恒定时间直接访问任何元素。与向量不同,deque 并不保证在其连续的内存位置存储所有元素。因此,它不允许通过偏移指针直接访问数据。但它允许使用下标运算符 [ ] 直接访问任何元素。

deque 可以根据需要在运行时从两端收缩或扩展。存储需求由内部分配器自动满足。deque 提供与向量类似的功能,但提供了从任何一端插入和删除数据的有效方法。

大小为零的双端队列也是有效的。在这种情况下,deque.begin() 和 deque.end() 指向相同的位置。但调用 front() 或 back() 的行为是未定义的。

Definition

以下是 <deque> 头文件中的 std::deque 的定义

template < class T, class Alloc = allocator<T> > class deque;

Parameters

  1. T − 包含元素的类型。T 可以用包括用户自定义类型在内的任何其他数据类型替换。

  2. Alloc − 分配器对象类型。默认情况下,使用分配器类模板,该模板定义最简单的内存分配模型,并且与值无关。

Member types

以下成员类型可作为参数或返回类型,由成员函数使用。

Functions from <deque>

以下是 <deque> 头文件中的所有方法的列表。

Constructors

Destructor

Member functions

Non-member overloaded functions