std deque儲存方式初探

2021-08-25 07:25:25 字數 590 閱讀 8451

std::dequeque; que.push_front(10); printf ("%02d %08x /n",que[0],&que[0]); que.push_front(9); printf ("%02d %08x /n",que[0],&que[0]); que.push_back(8); printf ("%02d %08x /n",que[2],&que[2]);

結果10 00613048

09 00613047

08 00613049

我們以第一次push_front的資料位址為基位址,

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

而push_back 儲存的位址是在基位址的基礎上向後。、

由此我們可以推斷,

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

在deque裡,第乙個資料的位置時在預分配記憶體的中間開始,

在vector則是在預分配記憶體得頭部開始。

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

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

std deque儲存方式初探

結果 10 00613048 09 00613047 08 00613049 我們以第一次push front的資料位址為基位址,當再次push front的時候儲存的位址是基位址的基礎上向前,而push back 儲存的位址是在基位址的基礎上向後。由此我們可以推斷,deque與vector的不同就...

sqlserver 儲存過程初探

儲存過程的優點 1.儲存過程只在創造時進行編譯,以後每次執行儲存過程都不需再重新編譯,而一般sql語句每執行一次就編譯一次,所以使用儲存過程可提高資料庫執行速度。2.當對資料庫進行複雜操作時 如對多個表進行update,insert,query,delete時 可將此複雜操作用儲存過程封裝起來與資料...

物件儲存oss初探

什麼是物件儲存技術?物件儲存 object storage 物件 其實是乙個資料儲存單位,就像是磁碟中的塊般 乙個儲存的物件,不僅僅包含了其要儲存的資料本身,也包含了描述資料的資訊 即元資訊 以及由儲存資料和元資訊生成的唯一標識id 說白了,從小的物件 人類可以讀取的檔案 到 或者其他行業固定格式 ...