STL中 容器 演算法 迭代器 之間的關係
阿新 • • 發佈:2018-12-16
https://blog.csdn.net/adobeadge/article/details/6750831
最近一直在看侯捷寫的《STL原始碼剖析》小有想法。故此一記
1,三者之間聯絡:
每個容器都有專屬的迭代器,而演算法通過迭代器對容器中的元素進行操作。
2,容器
容器能夠通過模版的方法,裝下各種型別的節點元素。
3,迭代器是一種smart pointer
迭代器是一種行為類似指標的物件。迭代器所指向的物件為容器中元素(結構體)的節點。
如定義一個 class List 的容器 ,容器的節點為ListItem,那麼迭代器就應該指向(的物件)容器中的ListItem節點。
而迭代器通過過載 * (解引用)運算子,從而就可以得到節點的值。通過過載operator -> 運算子就可以得到容器節點地址(指標)
4,演算法:
演算法通過操作容器對應的迭代器,就可以間接地操作容器中的元素。而不需要關注容器的內部細節
---------------------
作者:wonderful_ha
來源:CSDN
原文:https://blog.csdn.net/adobeadge/article/details/6750831
版權宣告:本文為博主原創文章,轉載請附上博文連結!