std::deque存儲方式初探

結果

 

10 00613048
09 00613047
08 00613049

 

我們以第一次push_front的數據地址爲基地址,

當再次push_front的時候保存的地址是基地址的基礎上向前,

而push_back 保存的地址是在基地址的基礎上向後。、

 

由此我們可以推斷,

deque與vector的不同就表現在這裏

在deque裏,第一個數據的位置時在預分配內存的中間開始,

在vector則是在預分配內存得頭部開始。

 

這樣就說明了爲什麼 deque可以迅速的在頭部插入數據,而vector則不可以。

 

其實有deque的名字我們也能猜測出來。雙端隊列(Double-ended queues):頭尾共2個端點。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章