迭代器和I/O
来源:互联网 发布:金伯利钻石怎么样 知乎 编辑:程序博客网 时间:2024/05/17 00:17
迭代器是一种处理位于容器中的元素序列的非常一般而又极其有用的概念。但是,容器并不是我们能够遇到元素序列的仅有的地方。例如,一个输入流也能产生一个值的序列,我们也会把一个值的序列写进一个输出流中。正因为这样,人们也将迭代器的概念很有效地应用到输入和输出上。
要做出一个ostream_iterator,我们需要描述被使用的将是哪个流,还要描述写入其中的对象的类型。例如,我们可以定义一个引用了标准输出流cout的迭代器:
给 *oo赋值的效果就是使被赋的值送到cout。例如,这就形成另一种向标准输出写规范信息的方式。这里 ++oo的记法是模仿通过指针向数组写入的方式。对于简单的工作,这种方式不会是我的第一选择。但把输出处理为一种只能写入的容器是很有用的,我们不久就会看得更清楚—如果现在还没完全明白的话。
与此类似,一个istream_iterator就是某种东西,它使我们可以像从容器读出一样从输入流中读出。同样,我们必须描述所用的输入流和所期望的值类型:
现在我们就能从输入流读入Hello, world!,而后再次将它写出去:
实际中,istream_iterator和ostream_iterator并不是想供人们直接使用的,它们主要是为了给算法提供参数。例如,我们可以写出一个简单程序,它读入一个文件,对所读的东西排序,去掉重复,最后将结果写入另一个文件:
ifstream就是可以附着到文件上的istream,ofstream是可以附着到文件上的ostream。ostream_iterator的第二个参数用于分隔各个输出值。
- 迭代器和I/O
- I/O空间-----I/O端口和I/O内存
- I/O空间-----I/O端口和I/O内存
- I/O空间-----I/O端口和I/O内存
- Unbufferd I/O和Standard I/O
- I/O 端口和 I/O 内存
- I/O 端口和 I/O 内存
- I/O端口和I/O内存
- I/O 端口和 I/O 内存
- I/O端口和I/O内存
- I-O 端口和 I-O 内存
- I/O端口和I/O内存
- I/O端口和I/O内存
- 同步I/O 和 异步I/O
- I-O 端口和 I-O 内存
- I-O 端口和 I-O 内存
- I/O端口和I/O内存
- I/O端口和I/O内存
- 编译Linux内核:基于Fedora 10的Linux内核编译
- 关于struts+spring+hibernate的相关总结(一)
- 程序的移植
- 8本游戏开发书籍推荐
- Wi-Fi术语总结
- 迭代器和I/O
- 如何解决Foxit Reader启动慢
- 使用JavaDoc风格注释让doxygen自动生成文档
- acad2002不能复制和wblock的怪异问题
- Java IO _管道流
- GoDaddy3月份域名注册量达到3千多万 色情功不可没
- 做题出现的问题总结
- 深入浅出之正则表达式(一)
- 查看cygwin的 版本