zoukankan      html  css  js  c++  java
  • adapter

    1.迭代器配接器

    (1)inserter iterator

        1.back_inserter(container)   //调用push_back();

        2.front_inserter(container)  //调用push_front();

        3.inserter(container,position);  //唯一可用于关联式容器时,position起引导作用

    对于insert迭代器,*pos==pos;

    赋值操作能被视为安插操作。

    *iter  传回iter;

    iter=value;    安插value

    ++iter和iter++都是传回iter;

    生成back_inerter 迭代器方法:

    1.back_insert_iterator<container<T>> iter(container<T> coll);

           *iter=value;                     //插入value

    2.back_inserter(coll)=value;   //插入value

    但是记住在插入前要有足够的空间。

    (2)stream iterator

        1- istream_iterator<T>(cin),istream_iterator<T>()    //读入输入流的T类型的数,类型不匹配或结尾停止

              *iter;     //传回先前读取的值

              iter->member;   //传回先前读取的元素成员

              ++iter;                //读取下一个元素;

              iter++;                //读取下一个元素

              iter1 == iter2;      //检查是否相等

        2- ostream_iterator<T>(cout,cstring);  //...为空格符

        *iter=value;     //向输出流插入value;

    (3)reverse iterator   用于逆向遍历。

    注意:rbegin()==end(), 但是内容是前一个元素的内容,逻辑指向和实际指向不同。

    container<T>::reverse_iterator rpos(pos);  //把一般迭代器改为逆向迭代器

    rrpos=rpos.base();  //把逆向迭代器改为一般迭代器 

    2.函数配接器<functional>:将两个仿函数结合起来的仿函数

    bind1st(op,value);//op是一个一元仿函数。

    bind2nd(op,value); //op是一个二元仿函数。value作为op的第二参数

    not1(op); //op是一元仿函数

    not2(op); //op是二元仿函数

    作者:xiazdong
    出处:http://blog.xiazdong.info
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
  • 相关阅读:
    laydate指定日期不可选
    kindeditor上传及播放视频的问题
    【Mood】八上期末考
    关于Java注解(annotation)的简单理解
    关于RabbitMQ的简单理解
    关于MongoDB的简单理解(三)--Spring Boot篇
    关于MongoDB的简单理解(二)--Java篇
    关于linux系统密码策略的设置(转载)
    mysq 报错, sql语句在数据库里运行正常, 在内网测试正常,打包放外网的时候就报下面错误
    java mybatisplus+springboot服务器跨域问题
  • 原文地址:https://www.cnblogs.com/xiazdong/p/3058289.html
Copyright © 2011-2022 走看看