迭代器模式 C++实例
时间: 2023-03-02 16:54:22 浏览: 118
迭代器模式代码示例
5星 · 资源好评率100%
迭代器模式是一种设计模式,它提供了一种方法来访问集合对象中的元素,而又不需要暴露该对象的内部表示。
在 C 语言中,可以通过使用结构体和函数来实现迭代器模式。
以下是一个简单的例子:
```
#include <stdio.h>
#include <stdlib.h>
typedef struct Iterator Iterator;
struct Iterator {
int *array;
int size;
int index;
};
Iterator *create_iterator(int *array, int size) {
Iterator *it = malloc(sizeof(Iterator));
it->array = array;
it->size = size;
it->index = 0;
return it;
}
int has_next(Iterator *it) {
return it->index < it->size;
}
int next(Iterator *it) {
return it->array[it->index++];
}
void destroy_iterator(Iterator *it) {
free(it);
}
int main() {
int array[] = {1, 2, 3, 4, 5};
int size = sizeof(array) / sizeof(array[0]);
Iterator *it = create_iterator(array, size);
while (has_next(it)) {
printf("%d\n", next(it));
}
destroy_iterator(it);
return 0;
}
```
在这个例子中,我们定义了一个名为 Iterator 的结构体,它存储了一个整数数组、数组大小和当前索引。然后我们定义了 create_iterator 函数,它创建一个 Iterator 并初始化它。还有 has_next 函数和 next 函数,分别用于判断是否还有下一个元素和获取下一个元素。最后,还有 destroy_iterator 函数,用于释放 Iterator。
在 main 函数中,我们创建了一个整数数组,并通
阅读全文