zoukankan      html  css  js  c++  java
  • 迭代器

    http://blog.csdn.net/thisinnocence/article/details/39579647

    c++专门为一些容器vector以及string等设置了一种很好用的访问方法,就是迭代器。


    迭代器是一种类似指针的操作,迭代器支持从一个位置转换到另一个位置,以及对于对象的间接访问。


    使用迭代器


    用begin以及end方法就可以得到一个容器的迭代器,比如对于string类型的话,string::iterator p = str.begin()就可以得到一个strng对象的指向头部的迭代器,begin指向的是容器头部的,而en返回的是指向容器的最后一个的下一个的,这一点要注意。如果迭代器是空的话,那么end以及begin返回的就都是同一个迭代器。


    迭代器就像指针一样,支持指针的所有操作,*p就代表p迭代器指向的元素,迭代器可以执行比较以及自加自减操作。


    遍历一个容器的方法就是(以string容器为例)


    string::itrator p = str.begin();
    string::itrator pe = str.end();
    while(p!=pe)
    {
    cout<<*p;
    p++;
    }
    如果不希望遍历的时候改变容器的值的话,那么就用const关键字声明迭代器。可以是string::const_iterator或者是string::const itrator两种类型。另外也可以用cbegin或者cend函数返回常量的迭代器。

    转载链接:http://blog.csdn.net/sanwenyublog/article/details/18006783

  • 相关阅读:
    Jmeter(五十)
    实践理解mysql的联合索引
    ElasticSearch---查询es集群状态、分片、索引
    Java8 函数式接口
    Java8 CompletableFuture
    java8多线程的lambda
    java线程池异步
    InputStream输入流,传输数据不完整
    RestEasy上传文件的工具类
    ElasticSearch---es之Post Filter,聚合后过滤
  • 原文地址:https://www.cnblogs.com/wangmengmeng/p/4873573.html
Copyright © 2011-2022 走看看