STL原始碼剖析學習七 stack和queue

2022-08-18 16:45:09 字數 714 閱讀 4066

stl原始碼剖析學習七:stack和queue

stack是一種先進後出的資料結構,只有乙個出口。

允許新增、刪除、獲取最頂端的元素,沒有任何辦法可以訪問其他元素,不允許有遍歷行為。

預設情況下用deque作為stack的底部結構,將其介面改變,封住一端就可以形成stack

介面:empty()

size()

top()

push()

pop()

operator==

operator<

由於stack以底部容器完成所有工作,成為adapter(配接器),不算做容器,叫做容器配接器

stack不需要遍歷,因此沒有迭代器

把list作為stack的底層容器

stack> istack;

其餘操作相同。

queue是一種先進先出的資料結構,有兩個出口,最底端可以加入,最頂端可以取出外,沒有任何其他方

法可以獲得其他元素。不允許有遍歷行為。也不提供迭代器

介面:empty()

size()

front()

back()

push()

pop()

operator==

operator<

同樣用deque作為queue的底部實現,同樣是容器配接器。

也可以用其他容器作為queue的底部實現

queue> iqueue

STL原始碼剖析

這兩天略讀完了 stl原始碼剖析 之所以是略讀,就是只看大體,不講具現 這個詞在 深度探析c 物件模型 中比較多 已經看過好幾本c 的書了,感覺c 本身設計的博大精深,而c 編譯器就更是乙個神奇的東西,換句話說,你永遠不知道c 編譯器揹著你做了哪些出乎你意料的事 不扯遠了 我主要是想看stl容器的具...

STL原始碼剖析

這兩天略讀完了 stl原始碼剖析 之所以是略讀,就是只看大體,不講具現 這個詞在 深度探析c 物件模型 中比較多 已經看過好幾本c 的書了,感覺c 本身設計的博大精深,而c 編譯器就更是乙個神奇的東西,換句話說,你永遠不知道c 編譯器揹著你做了哪些出乎你意料的事 不扯遠了 我主要是想看stl容器的具...

STL原始碼剖析

花了兩天時間略讀了一下 stl原始碼分析 看了個大體,對於細節並沒有深究。之所以想翻翻這本書,主要是想看看stl中的特性 介面卡的具體實現。看完之後收穫還是蠻大的,模板的各種組合讓我眼前一亮,下面大概總結一些內容。1.記憶體分配 sgi記憶體分配採用兩級實現,對於大記憶體塊的申請 大於128k 由第...