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

2021-06-07 21:48:51 字數 871 閱讀 4478

使用過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

intvector_get_first(

struct

_container* pcontainer)  

intvector_get_last(

struct

_container* pcontainer)  

intvector_interator_get_first(

struct

_interator* pinterator)  

intvector_interator_get_last(

struct

_interator* pinterator)    

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

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

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

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

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

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

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