【STL记录】Containers--Deques
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Deque和vector很像,区别是deque可以在两头插入和删除。 要使用deque,需加上头文件: #include <deque> 一、Abilities of Deque 1.deque与vector的不同之处 在头尾插入和移除元素都很快 访问元素的内部结构更加间接,因此访问和移动稍慢 Iterator必需是smart pointer而不是ordinary pointer,因为要在不同blocks之间跳 deque能包含更多的元素,所以max_size()更大一些 Deques不提供控制capacity和再分配的支持 当不在使用时,内存空间将释放 所以,当满足一下条件时,使用deque: 在两端插入和移除元素 不指向Container的元素 重要的一点是当不再使用时container会释放内存(并不能保证一定会发生) 2.Constructors and Destructor Operation Effect deque<Elem> c Default constructor:创建一个空的deque deque<Elem> c(c2) Copy constructor:通过复制c2创建c deque<Elem> c = c2 Copy constructor:通过复制c2创建c deque<Elem>