簡介
deque是double ended queue(即雙端隊列)的簡稱。 就像C++中的大部分容器的一樣,deque具有以下屬性:
順序的(sequence)
動態(tài)增長的(dynamic growing)
自定義內(nèi)存分配的(allocator-aware)
動態(tài)內(nèi)存分配
容器的順序性(或序列性)和內(nèi)存分配器我們留到以后再說,這里我們先來探討下容器的動態(tài)增長需求所帶來的動態(tài)內(nèi)存分配性質(zhì)。
動態(tài)內(nèi)存分配在這里的意思是容器的大小會隨著需要而增長,這經(jīng)常伴隨著一些內(nèi)存需求性的操作而發(fā)生(例如insert操作,插入一個元素勢必需要為這個元素預(yù)留內(nèi)存空間,不然它會成為一個無處息身的流浪狗-^-)。 每個容器都有其實際上的容量(capacity),當(dāng)容量耗盡,沒有多余的空間時,就需要為這個容器動態(tài)地增長(正方形單元表示內(nèi)存單元,深色表示已使用,白色表示未使用):