10 C語言和設計模式(迭代器模式)

2021-07-04 08:16:27 字數 804 閱讀 2839

使用過c++的朋友大概對迭代器模式都不會太陌生。這主要是因為我們在編寫**的時候離不開迭代器,佇列有迭代器,向量也有迭代器。那麼,為什麼要迭代器呢?這主要是為了提煉一種通用的資料訪問方法。

比如說,現在有乙個資料的容器,

[cpp]view plain

copy

typedef

struct _container  

container;  

我們看到,容器可以建立迭代器。那什麼是迭代器呢?

[cpp]view plain

copy

typedef

struct _interator  

interator;    

我們看到,容器有get_first,迭代器也有get_first,這中間有什麼區別?

[cpp]view plain

copy

int vector_get_first(struct _container* pcontainer)  

int vector_get_last(struct _container* pcontainer)  

int vector_interator_get_first(struct _interator* pinterator)  

int vector_interator_get_last(struct _interator* pinterator)    

看到上面的**之後,我們發現迭代器的操作實際上也是對容器的操作而已。

10 C語言和設計模式(中介者模式)

中介者模式,聽上去有一點陌生。但是,只要我給朋友們打個比方就明白了。早先自由戀愛沒有現在那麼普遍的時候,男女之間的相識還是需要通過媒婆之間才能相互認識。男孩對女方有什麼要求,可以通過媒婆向女方提出來 當然,女方有什麼要求也可以通過媒婆向男方提出來。所以,中介者模式在我看來,就是媒婆模式。cpp vi...

C語言和設計模式(迭代器模式)

使用過c 的朋友大概對迭代器模式都不會太陌生。這主要是因為我們在編寫 的時候離不開迭代器,佇列有迭代器,向量也有迭代器。那麼,為什麼要迭代器呢?這主要是為了提煉一種通用的資料訪問方法。比如說,現在有乙個資料的容器,cpp view plain copy typedef struct containe...

C語言和設計模式(迭代器模式)

使用過c 的朋友大概對迭代器模式都不會太陌生。這主要是因為我們在編寫 的時候離不開迭代器,佇列有迭代器,向量也有迭代器。那麼,為什麼要迭代器呢?這主要是為了提煉一種通用的資料訪問方法。比如說,現在有乙個資料的容器,typedef struct container container 我們看到,容器可...