当前位置: 首页 > news >正文

官方网站如何做360网站认证域名

官方网站如何做,360网站认证域名,网站建设投标ppt,中国建设网站的证件怎么查询Linux C 056-设计模式之迭代器模式 本节关键字#xff1a;Linux、C、设计模式、迭代器模式 相关库函数#xff1a; 概念 迭代器模式#xff08;Iterator Pattern#xff09;是一种常用的设计模式。迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素#xff0c;而…Linux C 056-设计模式之迭代器模式 本节关键字Linux、C、设计模式、迭代器模式 相关库函数 概念 迭代器模式Iterator Pattern是一种常用的设计模式。迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素而又不暴露其内部的表示。迭代器模式属于行为型模式。 优缺点 优点 支持多种遍历方式不同的迭代器可以定义不同的遍历方式。 简化聚合类聚合类不需要关心遍历逻辑。 多遍历支持可以同时对同一个聚合对象进行多次遍历。 扩展性增加新的聚合类和迭代器类都很方便无需修改现有代码。 缺点 系统复杂性每增加一个聚合类就需要增加一个对应的迭代器类增加了类的数量。 使用场景 1、当需要遍历一个聚合对象而又不希望暴露其内部结构时。 2、当需要访问聚合对象内容而不暴露其内部表示时使用迭代器模式。 3、当需要为聚合对象提供多种遍历方式时考虑使用迭代器模式。 4、为遍历不同的聚集结构提供如开始、下一个、是否结束、当前哪一项等统一的接口。 角色说明 迭代器模式包含以下几个主要角色 迭代器接口Iterator定义了访问和遍历聚合对象中各个元素的方法通常包括获取下一个元素、判断是否还有元素、获取当前位置等方法。 具体迭代器Concrete Iterator实现了迭代器接口负责对聚合对象进行遍历和访问同时记录遍历的当前位置。 聚合对象接口Aggregate定义了创建迭代器对象的接口通常包括一个工厂方法用于创建迭代器对象。 具体聚合对象Concrete Aggregate实现了聚合对象接口负责创建具体的迭代器对象并提供需要遍历的数据。 示例代码 #include iostream #include vector #include stdexcept// 迭代器接口 class Iterator { public:virtual int next() 0;virtual bool hasNext() 0; };// 具体迭代器 class ConcreteIterator : public Iterator { private:std::vectorint data;size_t position;public:ConcreteIterator(const std::vectorint data) : data(data), position(0) {}int next() override {if (hasNext()) {return data[position];} else {throw std::out_of_range(No more elements);}}bool hasNext() override {return position data.size();} };// 聚合接口 class Aggregate { public:virtual Iterator* createIterator() 0; };// 具体聚合 class ConcreteAggregate : public Aggregate { private:std::vectorint data;public:ConcreteAggregate(const std::vectorint data) : data(data) {}Iterator* createIterator() override {return new ConcreteIterator(data);} };int main(int argc, char *argv[]) {std::vectorint data {1, 2, 3, 4, 5};// 使用迭代器遍历聚合对象Aggregate* aggregate new ConcreteAggregate(data);Iterator* iterator aggregate-createIterator();while (iterator-hasNext()) {std::cout iterator-next() ;}std::cout \n;delete iterator;delete aggregate;return 0; }
http://www.hkea.cn/news/14436649/

相关文章:

  • 长春火车站现在正常通车吗Wordpress虚拟资源交易idown
  • 建站系统的应用场景常州第一门户网
  • 建设行业信息和技术应用服务网站衡水网站建设选哪家
  • 建设银行网站储蓄账户查询密码河池网站优化
  • 大数据比赛网站建设网站页脚的信息都有什么
  • 长虹电视网站建设中南宁seo推广
  • 大型做网站的公司网站上线确认书
  • 广元市利州区建设局网站百度信息流推广是什么意思
  • 建设公司怎么做网站运营室内设计好的大学排名
  • wap网站设计营销软件排名
  • 大连网站设计策划php网站开发 在本地修改 服务器源文件同步
  • app网站建设需要什么软件国内最厉害的公关团队
  • 做logo去哪个网站怎么做网站排名会更好
  • 网站建设类行业资讯前端开发有前途吗
  • 网站宣传的好处莱芜新闻电视台节目表
  • 广安住房和城乡建设厅网站lamp网站架构
  • 山东省建设工程注册中心网站甘肃肃第八建设集团网站1
  • 企业手机网站建设策划网优 是什么网站
  • 网站开发方案及报价中山免费建站
  • 国内最有趣的网站营销云
  • 深圳联雅网站建设招聘模板图片
  • 视觉中国设计网站移动端网站开发介绍
  • 房产交易网站开发广州建站网络公司
  • 创建网站需要学什么知识微 网站
  • 建设银行投诉网站博客和个人网站建设情况
  • 什么网站可以做直播用哪个软件制作网页
  • 老河口建设局网站如何破解网站后台
  • 做一般的公司门户网站投资额wordpress酒店主题
  • 网站开发行业推广淘宝毕业设计网站代做
  • 什么语言做网站app开发技术