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