• C++迭代器


    C++的迭代器是为了使算法独立于所使用的容器类型而设计的,也就是说,C++的STL算法不会因为受使用的容器类型而限制(ps:也不会受数据类型的限制,因为STL提供了模板)。C++的迭代器种类比较多,从概念描述上可分为输入迭代器、输出迭代器、正向迭代器、双向迭代器和随机访问迭代器,每个容器类都定义了自己的迭代器,其类型不确定,需要查看具体的文档。

    STL使用概念来描述可以满足算法使用要求的迭代器,使用改进来表示概念上的继承,使用模型表示概念的具体实现。指针可看成是迭代器的一种,如指向int的指针就是一种随机访问的迭代器模型。

    sort()函数接受指向容器的第一个元素的迭代器和指向超尾元素的迭代器,用于升序排序,这是STL提供的一个很方便的函数。

    C++几个重要的迭代器:ostream_iterator,istream_iterator,reverse_iterator,back_insert_iterator,front_insert_iterator,insert_iterator等。这些迭代器使用时要注意模板参数和构造参数,对输入迭代器和输出迭代器而言,模板参数是输入/输出的数据类型和输入/出流使用的字符类型组成,构造参数是具体的输入/输出流,如果输入流为空,输入失败,输出流后的第二个参数表示发送给输出流后每个数据项的分隔符,除此以外的迭代器的模板参数一般是一个容器类型,而构造参数是实际的类型标示符(ps:有些还有一些位置信息)。

    copy()不仅可以将信息从一个容器复制到另一个容器,还可以将信息从容器复制到输出流,从输入流复制到容器中,还可以将信息插入到另一个容器中,这都跟迭代器的使用密切相关。

  • 相关阅读:
    Identifier expected after this token
    需要整理的
    Context
    SharedPreferences
    一些常规注意事项
    一个点亮屏幕的service
    BroadcastReceiver中调用Service
    BroadcastReceiver
    Service
    微服务简介
  • 原文地址:https://www.cnblogs.com/bluecloudwyy/p/5902999.html
Copyright © 2020-2023  润新知