• STL六大组件


    标准模板库(STL):
    STL库是用模板(template)写出来的,模板是STL库的基础。STL大致由以下几部分组成:
      ——容器(container)
      ——迭代器(iterator)
      ——容器适配器(Adapter)
      ——算法(algorithm)
      ——函数对象(functor)
      ——配置器(allocator)    //底层实现
    容器、迭代器、容器适配器都是用类模板实现的,迭代器用于遍历容器中的每一个元素,算法用于操作数据。
    (使用了C++11新特性,编译的时候要加上:-std=c++11


    容器:
         STL运用模板类库机制,为数据存储,查找和其他操作提供了一整套方案,大大提高了程序的正确性。不仅如此,类库对常用的很多操作进行了优化处理,大大提高了程序的效率。
    容器是可容纳一些数据的类模板,STL中有vector、list、deque、(序列式容器)set/multiset、map/multimap(关联式容器)等容器。


    迭代器:
         在有的专业书籍中,迭代器也称游标,可以将迭代器初步理解为广义指针,迭代器和指针功能很像,迭代器是通过重载一元的”*”和”->”来从容器中间接地返回一个值。
    迭代器有5种,依次为:
       ——随机访问迭代器(Random Access Iterator)
       ——双向迭代器(Bidirectional Iterator)
       ——前向迭代器(Forward Iterator)
       ——输入迭代器(Input Iterator)
       ——输出迭代器(Output Iterator)


    适配器:
         适配器就是Interface(接口),对容器、迭代器和算法进行包装,但其实质还是容器、迭代器和算法,只是不依赖于具体的标准容器、迭代器和算法类型,容器适配器可以理解为容器的模板迭代器适配器可理解为迭代器的模板算法适配器可理解为算法的模板。
    常见的容器适配器有:
    stack、queue、priority_queue
    (不支持迭代器访问)


    算法:
         STL包含了很多对容器进行处理的函数,它们的处理思路大体相同:使用迭代器来标识要处理的数据或数据段、以及结果的存放位置,有的函数还作为对象参数传递给另一个函数,实现数据的处理。



  • 相关阅读:
    Sun:收购MySQL是现代软件史上最重要收购[ZT]
    SCI2012年收录的中文期刊
    Elsevier期刊投稿状态
    医学图像SCI
    贝叶斯法则,先验概率,后验概率,最大后验概率
    医学图像处理与分析方面的大牛
    2013 EI检索的国内期刊
    ICIP EMBC IUS 2013
    香港中文大学第六十九届颁授学位典礼 校长赠言 我默祷你们都能不负此生
    自动生成参考文献编号
  • 原文地址:https://www.cnblogs.com/meihao1203/p/8997250.html
Copyright © 2020-2023  润新知