简介

deque是double ended queue(即双端队列)的简称。 就像C++中的大部分容器的一样,deque具有以下属性:

  • 顺序的(sequence)

  • 动态增长的(dynamic growing)

  • 自定义内存分配的(allocator-aware)

动态内存分配

容器的顺序性(或序列性)和内存分配器我们留到以后再说,这里我们先来探讨下容器的动态增长需求所带来的动态内存分配性质。

动态内存分配在这里的意思是容器的大小会随着需要而增长,这经常伴随着一些内存需求性的操作而发生(例如insert操作,插入一个元素势必需要为这个元素预留内存空间,不然它会成为一个无处息身的流浪狗-^-)。 每个容器都有其实际上的容量(capacity),当容量耗尽,没有多余的空间时,就需要为这个容器动态地增长(正方形单元表示内存单元,深色表示已使用,白色表示未使用):

<

网友评论