本文中的一些重要概念来自于C语言中文网
链接:http://c.biancheng.net/view/353.html

deque也是一种可变长的数组,vector有的成员函数deque也都有,但是vector在头部插入元素的时候耗时较长,而deque在头部和尾部插入元素的时间复杂度都是O(1)。同时它也像vector一样可以随机存取任意位置的元素,而且时间复杂度为O(1)。

它较于vector而言多了如下两个成员函数:
void push_front (const T & val); //将 val 插入容器的头部
void pop_front(); //删除容器头部的元素

从它的特点可以猜想到,它的底层实现应该是在动态分配空间的时候再空间头部预留了一部分空间,以供deque对象在头部的扩展。