迭代器模式是一种行为设计模式,它允许客户端逐个访问集合中的元素,而不暴露集合的底层表示。这种模式提供了一种方法来访问聚合对象中的各个元素,而不需要暴露其内部结构。
迭代器模式由以下几个关键角色组成:
-
迭代器(Iterator): 定义访问和遍历元素的接口,通常包括
next()
、hasNext()
等方法。 -
具体迭代器(ConcreteIterator): 实现迭代器接口,负责对集合进行遍历和导航。
-
聚合(Aggregate): 定义创建迭代器对象的接口。
-
具体聚合(ConcreteAggregate): 实现聚合接口,返回一个特定的迭代器实例。
#include
#include
// 迭代器接口
class Iterator {
public:
virtual bool hasNext() const = 0;
virtual int next() = 0;
};
// 具体迭代器
class ConcreteIterator : public Iterator {
public:
ConcreteIterator(const std::vector& collection) : collection_(collection), index_(0) {}
bool hasNext() const override {
return index_ & collection_;
size_t index_;
};
// 聚合接口
class Aggregate {
public:
virtual Iterator* createIterator() const = 0;
};
// 具体聚合
class ConcreteAggregate : public Aggregate {
public:
ConcreteAggregate(const std::vector& collection) : collection_(collection) {}
Iterator* createIterator() const override {
return new ConcreteIterator(collection_);
}
private:
std::vector collection_;
};
int main() {
std::vector numbers = {1, 2, 3, 4, 5};
ConcreteAggregate aggregate(numbers);
Iterator* iterator = aggregate.createIterat服务器托管or();
服务器托管
while (iterator->hasNext()) {
std::cout next()
觉得有帮助的话,打赏一下呗。。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: 【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)
文章目录 3.7.1 MAC地址 3.7.2 IP地址 3.7.3 ARP协议 3.7.1 MAC地址 MAC地址(Media Access Control address)是网络设备(如网卡、无线网卡)在数据链路层上的唯一标识符。以下是有关MAC地址的一些要…