泛型算法(3)——迭代器
迭代器 除了为每个容器定义的迭代器之外,标准库在头文件iterator中还定义了额为几种迭代器,包括以下几种 插入迭代器 绑定到一个容器上,可用来向容器插入元素 流迭代器 绑定到输入或输出流上,可用来遍历所关联的IO流 反向迭代器 向后而不是向前移动,除了forward_list之外的标准库都有反向迭代器 移动迭代器 不是拷贝其中的元素,而是移动它们 1、插入迭代器 back_inserter front_inserter inserter 只有在容器支持push_front的情况下,才可以使用front_inserter。同理, 只有在容器支持push_back的情况下,才可以使用back_inserter。 插入迭代器操作 it=t 在it指定的当前位置插入值t *it,++it,it++ 不会对it做任何事情 2、iostream迭代器 标准库定义了可以用于IO类型对象的迭代器 istream_iterator读取输入流;ostream_iterator向一个输出流写入数据。 通过使用流迭代器,可以用泛型算法从流对象读取数据以及向其写入数据. istream_iterator操作 istream_iterator<T> in(is) in从输入流is读取类型为T的值 istream_iterator<T> end 读取类型为T的值的istream_iterator迭代器