这篇文章的内容还是不错的:

http://www.cnblogs.com/zhuyf87/archive/2012/12/08/2808290.html

for (vector<int>::iterator i = v.begin(); i < v.end(); i++) {cout << *i << endl;
}

这个循环本身没有明显错误,存在的只是一些风格上的问题。

(1)尽量做到const正确性。如果迭代器没有用来修改vector中的元素,应该改用const_iterator。

(2)尽量使用“!=”而不是“<”来比较两个迭代器。因为“<”只对随机访问迭代器有效(例如,std::list的迭代器并不支持“<”),而“!=”对于任何迭代器都有效。所以应该把使用“!=”比较迭代器作为日常惯例。

(3)尽量使用前缀“--i”和“++i”。除非真的需要用到i原来的值。

(4)避免无谓的重复求值。本例中v.end()的返回值在整个循环中不会改变,因此应当在循环之前预先将v.end()求出来。

(5)尽量使用“\n”而不是“endl”。使用endl会迫使输出流刷新其内部缓冲区,可以在整个循环结束之后写一行刷新语句。

(6)尽量使用标准库中的copy()和for_each()来代替手写循环,这样可以使代码变得更干净简洁。

copy(v.begin(), v.end(), ostream_iterator<int>(cout, “\n”);

此外,使用copy(),前面关于!=、++、end()和endl的问题也就不用操心了。

iterator的使用和封个问题相关推荐

  1. 184_刘发顺_Java核心编程

    Java核心编程 Java 技术栈: Java基础 Java面向对象:Java 是一种面向对象的语言,它对对象中的类.对象.继承.封装.多态.接口.包等均有很好的支持.为了简单起见,Java 只支持类 ...

  2. PHP+MySQL导出大量数据(Iterator yield)

    开发中经常遇到这样的场景 产品汪:我要在后台做一个功能,可以导出自定义时间范围的订单信息.开发小哥二话不说,半天就把功能做完并上线了.结果,第二天一上班产品汪过来就是拍桌子:MD,我想把去年一整年的订 ...

  3. 2021年大数据常用语言Scala(十九):基础语法学习 iterator迭代器

    目录 iterator迭代器 使用迭代器遍历集合 iterator迭代器 scala针对每一类集合都提供了一个迭代器(iterator)用来迭代访问集合 使用迭代器遍历集合 使用iterator方法可 ...

  4. Java Iterator 使用

    学而时习之,温故而知新. 迭代器是一种模式.详细可见其设计模式,可以使得序列类型的数据结构的遍历行为与被遍历的对象分离,即我们无需关心该序列的底层结构是什么样子的.只要拿到这个对象,使用迭代器就可以遍 ...

  5. 2022-2028年中国芯片封测行业深度调研及投资前景预测报告(全卷)

    [报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了芯片封测行业相关概述.中国芯片封测行业运行环境.分析了中国芯片封测行 ...

  6. Java技术——Iterator和Enumeration的不同

    0. Iterator和Enumeration的不同 (1)两者的函数接口不同 Enumeration只有2个函数接口,通过Enumeration我们只能读取集合的数据,而不能对数据进行修改. Ite ...

  7. Rocksdb iterator 的 Forward-scan 和 Reverse-scan 的性能差异

    前言 最近在读 MyRocks 存储引擎2020年的论文,因为这个存储引擎是在Rocksdb之上进行封装的,并且作为Facebook 内部MySQL的底层引擎,用来解决Innodb的空间利用率低下 和 ...

  8. Rocksdb Iterator实现:从DBIter 到 TwoLevelIter 的漫长链路

    文章目录 1. 迭代器简单介绍 2. 迭代器用户态相关接口 3. 迭代器内部架构 4. 迭代器的入口实现 4.1 DBIter 4.2 MergingIterator 4.3 Memtable系列It ...

  9. Rocksdb iterator和snapshot 接口

    Rocksdb提供迭代器来来访问整个db中的数据,就像STL中的迭代器功能一样,用来访问容器中的具体的数据. 访问形式以及访问接口有如下几种: 遍历所有的key-value //打开db,并初始化一个 ...

最新文章

  1. Caused by: java.lang.NoClassDefFoundError: org/springframework/aop/TargetSource
  2. error.html mp4,HTML Video error用法及代码示例
  3. $router VS $route
  4. tdk怎么设置_你真的做好网站的标题、描述、关键词(TDK)设置了吗?
  5. digit函数(信息学奥赛一本通-T1164)
  6. 自动化测试C语言程序,自动化测试程序之一自定义键盘的模拟测试程序(C语言)...
  7. 关于Visual Studio “当前不会命中断点.还没有为该文档加载任何符号“的解决方法
  8. 凤凰机器人猜成语答案_看图猜成语:一只手上拿着绳子,旁边有个起吊机
  9. 网易新闻 鸿蒙,网易新闻鸿蒙版下载-网易新闻 鸿蒙版v78.5-PC6鸿蒙网
  10. 关于Linux UDP/TCP reuseport 二三事
  11. 修改程序版本工具(ResHacker)使用说明20140902
  12. Exploiting Spatial Structure for Localizing Manipulated Image Regions
  13. 关于Android手机拍照预览、剪裁界面出现照片九十度旋转的问题
  14. Linux从入门到跑路
  15. 第三章 SQL命令 ALTER USER
  16. 关于wifi模块连接路由器远程控制的一些问题
  17. [转]Typora中使用Latex符号——基本操作
  18. 如何极速下载网页上的文件? 怎么批量下载文献
  19. KITTI 自动驾驶 数据集 镜像 百度网盘 百度云 下载
  20. 干货|认识kata-containers

热门文章

  1. 使用Intellij IDEA 解决Java8的数据流问题
  2. 科普:教你如何看懂 JavaGC 日志
  3. 常用的设计模式汇总,超详细!
  4. 常用数据增广方法,解决数据单一问题
  5. 数据科学教育白皮书联合发布!顶级数据人才成长路径
  6. 一文总结Datawhale系列分享
  7. 视频数据处理方法!关于开源软件FFmpeg视频抽帧的学习
  8. 【廖雪峰python入门笔记】list_创建
  9. 卷积神经网络的复杂度分析
  10. Spring中的这些坑,99%的程序员都踩过