看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《pracinverse (改)》之銘言: : forward_list的iterator是所有STL容器中,唯一的forward iterator ↑ ↑ Type Concept Concept 描述了對於一個型態操作需求, 如果一個型態符合 Concept 的 要求, 則稱它 模塑(Models) 了該 Concept 一個抽象(Concept), 一個則是具現化的一種實作(Type), 所以你講得並 不正確, vector<int>::iterator 也模塑了 Forward Iterator, 其實滿 足的條件還蠻容易的: ┌──────────────────┐ │ 操作 回傳型態 │ ├──────────────────┤ │ X u(a); X │ │ │ │ u = a; X& │ │ a == b convertible to bool │ │ a != b convertible to bool │ │ *a convertible to T │ │ a->m │ │ ++r X& │ │ (void)r++ │ │ *r++ T │ └──────────────────┘ 還有對語意的要求有興趣可以看 spec 'Iterators library' 一章 : 其他STL容器的iterator都是bidirectional iterator或random access iterator : list是環狀雙向鏈結串列 不一定, 只不過這樣實作可以省一個指標去記頭/尾節點 : list的member function end()回傳list的head, : list的member function begin()回傳list的head所指向的下一個位置 : forward_list就是slist,差別在於前者有標準化 應該說是先有各方實作或需求, 再一個個視平台支援情況納入標準的一部分 http://bit.ly/tuXaPA 抽取各方實作的交集來演化成標準 : unordered_map就是hash_map,差別在於前者有標準化 http://bit.ly/w1oliE : 以上觀念有誤嗎?? -- ★ ★ ███ ███ █▌█ ██◣ ███ ▋▋█ █▂█ █▃█ ███ █▆█ █▄█ ███ █ ◣ █ █ ▋██ █▆◤ ███ ███ Kim Jae Kyung Koh Woo Ri Cho Hyun Young Kim Ji Sook φwindyhorse No Eul Oh Seung A Jung Yoon Hye -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.121.197.115
PkmX:板主說得沒錯 bidirectional和random access iterator 12/21 15:11
PkmX:forward iterator的一種XD 12/21 15:12
pracinverse:THANKS 12/22 21:50