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

jsp可以做那些小网站怎样获得做网站的客户

jsp可以做那些小网站,怎样获得做网站的客户,福州网站建设yfznkj,手机如何网站模板一、迭代器设计模式 迭代器设计模式(iterator)是一种行为设计模式#xff0c; 让你能在不暴露集合底层表现形式 #xff08;列表、 栈和树等数据结构#xff09; 的情况下遍历集合中所有的元素。 在验证环境中的checker会收集各个monitor上送过来的transactions#xff0…一、迭代器设计模式 迭代器设计模式(iterator)是一种行为设计模式 让你能在不暴露集合底层表现形式 列表、 栈和树等数据结构 的情况下遍历集合中所有的元素。 在验证环境中的checker会收集各个monitor上送过来的transactions如果有一个专用配置寄存器用于开启或关闭ECC计算那么在其发生更改时需要遍历checker中的transactions并修改所预测的数据值以实现正确的预测。任何在对象集合上执行遍历的场景无论其内部结构如何都适合使用iterator设计模式进行建模。该解决方案的主要优点是存储数据的内部结构不需要对外可见因此可以在不影响环境其余部分的情况下进行修改。Iterator设计模式的使用增加了环境的灵活性且通常没有任何主要缺点还是比较推荐大家有机会可以试试。 迭代器设计模式主要包含以下几个组件 抽象迭代器Abstract Iterator 接口声明了遍历集合所需的操作 获取下一个元素、 获取当前位置和重新开始迭代等。具体迭代器 Concrete Iterators 继承自抽象迭代器实现遍历集合的一种特定算法。 迭代器对象必须跟踪自身遍历的进度。 这使得多个迭代器可以相互独立地遍历同一集合。抽象集合 Abstract Container 接口声明一个或多个方法来获取与集合兼容的迭代器。 请注意 返回方法的类型必须被声明为迭代器接口 因此具体集合可以返回各种不同种类的迭代器。具体集合 Concrete Container继承自抽象集合 会在客户端请求迭代器时返回一个特定的具体迭代器类实体。 下图为迭代器设计模式在ECC中应用的UML类图。 二、参考代码 迭代器设计模式的参考代码如下 class base_item extends uvm_object;uvm_object_utils (base_item)function new (string name base_item);super.new(name);endfunction : newfunction void re_generate(bit ecc_en);if ( ecc_en ) $display(%s No ECC, get_name());else $display(%s Has ECC, get_name()); endfunction : re_generateendclass : base_itemvirtual class iterator extends uvm_object;function new (string name iterator);super.new(name);endfunction : newpure virtual function bit has_next();pure virtual function base_item next();endclass : iteratorvirtual class container extends uvm_object;function new (string name container);super.new(name);endfunction : newpure virtual function iterator get_iterator();endclass : containerclass data_container extends container;uvm_object_utils (data_container)static base_item item_q[$];class queue_iterator extends iterator;uvm_object_utils (queue_iterator)int index;function new (string name queue_iterator);super.new(name);endfunction : newvirtual function bit has_next();if ( index item_q.size() ) beginreturn 1;endreturn 0;endfunction : has_nextvirtual function base_item next();if ( this.has_next() ) beginreturn item_q[index];endreturn null;endfunction : nextendclass : queue_iteratorfunction new (string name data_container);super.new(name);endfunction : newvirtual function iterator get_iterator();queue_iterator it_q queue_iterator::type_id::create(iteratora);return it_q;endfunction : get_iteratorfunction void add(base_item _item);item_q.push_back(_item);endfunction : addendclass : data_container 模拟测试代码如下 data_container data_cont; base_item item; base_item item1 base_item::type_id::create(item1); base_item item2 base_item::type_id::create(item2); base_item item3 base_item::type_id::create(item3);data_cont data_container::type_id::create(data_cont); data_cont.add(item1); data_cont.add(item2); data_cont.add(item3);for (iterator it data_cont.get_iterator(); it.has_next(); ) beginitem it.next();item.re_generate(1); endfor (iterator it data_cont.get_iterator(); it.has_next(); ) beginitem it.next();item.re_generate(0); end 输出仿真日志如下 | item1 No ECC| item2 No ECC| item3 No ECC| item1 Has ECC| item2 Has ECC| item3 Has ECC 从仿真结果可以看出添加到container中的三个base_item在第一次迭代中没有打开ECC所以都打印出“No ECC”字符串在第二次迭代中打开了ECC所以都打印出“Has ECC”字符串。
http://www.hkea.cn/news/14390874/

相关文章:

  • 网站加入购物车的代码云主机如何做两个网站
  • 做百度推广需要有网站吗工业园做网站的公司
  • seo站外推广海外电商平台有哪些
  • 南宁做企业网站运营企业网站
  • 网页界面设计内容分站城市网站如何做seo
  • 网站建设分金手指排名八广德做网站设计开发
  • 赵县住房和城乡建设局网站首页竞价sem培训
  • 百度快照 查看指定网站wordpress 不同站点
  • 长春网站建设公司怎么样抖音 运营
  • 做网站内容管理器要吗针织外贸公司
  • 带屏蔽的网站做水晶头seo关键词是什么意思
  • win7 发布asp网站哪个公司的app软件定制
  • 做企业网站的哪家好wordpress 不显示菜单
  • 网站设计建网站2023今天的新闻联播
  • 便民类网站 做wordpress 手册插件
  • 用群晖nas做网站南山做网站
  • 广州高档网站建设网站设计框架
  • 网站开发流程及详解站长工具seo
  • 下载wix做的网站织梦网站开通在线投稿
  • 网站建设经费预算包括哪些wordpress 翻译
  • 余姚市城乡建设局网站cms系统搭建
  • 个人建网站一般多少钱?中国建设银行门户网站企业
  • 网站分析步骤哪个网站可以学做咸菜
  • 哪有做网站的宁波外贸网站建设和推广
  • 网站建设运营执行方案怎么做ppt教程网站
  • 山东网站建设好不好手机网站怎么做沉浸式
  • 哪个网站做推广做的最好超级搜索引擎
  • 东莞网站建设 鞋材厂wordpress页面移动端
  • 过年做哪个网站能致富网络投票程序
  • 网站风格趋势品牌推广与传播怎么写