zoukankan      html  css  js  c++  java
  • 16.4.4 概念、改进和模型(中)

    STL提供了一些预定义迭代器

    copy(argument1, argument2, argument3)算法

    该算法可以将数据从一个容器复制到另一个容器中。这种算法是以

    迭代器方式实现的,所以它可以从一种容器到另一种容器进行复制:

    • argument1,argument2为迭代器参数,表示复制范围
    • argument3也是迭代器参数,表示要将第一个参数复制到什么位置

    ostream_iterator模板:

    用STL的话说,该模版是输出迭代器概念的一个模型,它也是一个适配器——一个类或函数,可以

    将一些其它接口转换为STL使用的接口。

    • 包含iterator(以前为iterator.h)
    • 声明以创建迭代器ostream_iterator<int, char> out_iter(cout, " ");
      •  第一个模板参数(int)指出了被发送给输出流的数据类型;
      •     第二个模板参数(char)指出了输出流使用的字符类型
      •     构造函数的第一个参数(cout)指出了要使用的输出流
      •     最后一个字符串参数是在发送给输出流的每个数据项后显示的分隔符

    可以这样使用迭代器:*out_iter++ = 15;  // works like cout << 15 << " ";

    可以将copy用于迭代器:copy(dice.begin(), dice.end(), out_iter);  // copy vector to output stream, 即显示容器内容

    可以创建匿名迭代器:copy(dice.begin(), dice.end(), ostream_iterator<int, char> (cout, " "));

    istream_iterator模板:

    该模版也包含在iterator头文件中,它是一个输入迭代器概念的模型,可以使用两个istream_iterator对象来定义

    copy()等的输入范围: copy(istream_iterator<int, char>(cin), istream_eterator<int, char>(), dice.begin()); 

    • 第一个参数指定要读取的数据类型
    • 第二个参数指出输入流使用的字符类型
    • 使用构造函数cin意味着使用由cin管理的输入流
    • 省略构造函数参数表示输入失败(即遇到文件结尾、类型不匹配等情况时结束输入)
  • 相关阅读:
    renren fast快速开发系统平台
    质量体系推广中的APQP
    人员能力管理——车间看板工具
    【生物信息】RPKM, FPKM和TPM
    【深度学习与TensorFlow 2.0】图片分类——多层感知机
    【深度学习与TensorFlow 2.0】入门篇
    【bioinfo】生物信息学——代码遇见生物学的地方
    【web开发】docker中的数据库
    使用docker搭建数据分析环境
    【数据科学】Python数据可视化概述
  • 原文地址:https://www.cnblogs.com/suui90/p/13546527.html
Copyright © 2011-2022 走看看