设为首页 加入收藏

TOP

C++迭代器的两种实现方式(三)
2014-07-19 23:04:15 来源: 作者: 【 】 浏览:238
Tags:实现 方式

 

  需要注意的是,凡是体现多态性的函数,返回值必须为引用或者指针,且不得为栈中的临时变量,因此我们调用完GetEnumerator()后,要将生成的迭代器删除,删除的代码写在了MoveNext()内,当游标不可移动的时候,迭代器被删除。

  以后就可以用自己的foreach宏定义来遍历元素了:

  std::string a;

  CSharpCollection csc;

  IEnumerable<STD::STRING>& refcsc = csc;

  foreach (a , refcsc ){

  std::cout 《 a 《 std::endl;

  }

  上面代码的第三行意在说明,如果一个类中继承了IEnumerable类,它一定是可迭代的,可以调用它的Reset()、MoveNext()、Current(),也可以用我们刚刚写的foreach来进行遍历。

        

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 3/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇小心指针被delete两次 下一篇语音输入和文字输入动画切换

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·About - Redis (2025-12-26 08:20:56)
·Redis: A Comprehens (2025-12-26 08:20:53)
·Redis - The Real-ti (2025-12-26 08:20:50)
·Bash 脚本教程——Li (2025-12-26 07:53:35)
·实战篇!Linux shell (2025-12-26 07:53:32)