zoukankan      html  css  js  c++  java
  • 【C++百科】STL(Standard Template Library) 标准模板库简介

    STL简介

    STL是Standard Template Library的简称,中文名标准模板库,惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。
    从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。STL现在是C++的一部分,因此不用安装额外的库文件。

    STL的组成

    容器(containers)
    迭代器(iterators)
    空间配置器(allocator)
    配接器(adapters)
    算法(algorithms)
    仿函数(functions)

    容器分类

    序列式容器
    数组(array);
    向量(vector):连续存储的元素;
    列表(list):有节点组成的双向链表;
    双端队列(deque):连续存储的指向不同元素的指针所组成的数组。
    适配器(在一般序列容器的基础上提供了不同的功能,用序列容器实现的新容器)
    栈(stack);
    队列(queue);
    优先队列(priority_queue):元素的次序由作用于所存储的值对上的某种谓词决定的一种队列。
    关联式容器
    集合(set):由节点组成的红黑树,没有两个不同的元素能够拥有相同的次序;
    多重集合(multiset):允许存在两个次序相等的元素的集合;
    映射(map):由{键,值}对组成的集合;
    多重映射(multimap):允许键对由相等的次序的映射

    迭代器

    几乎STL提供的所有算法都是通过迭代器存取元素序列进行工作的,每一个容器都定义了其本身所专有的迭代器,用以存取容器中的元素。

  • 相关阅读:
    正则表达式验证手机号
    windows redis 安装启动及设置密码
    c# MVC利用AuthorizeAttribute验证用户是否登录
    判断页面是否加载完成
    关于List的ConcurrentModificationException
    intellij idea 12 编码不可映射字符
    这年头,竞争压力这么大,为什么我啥都想学。
    关于学习
    盘点8种CSS实现垂直居中水平居中的绝对定位居中技术
    单点登录原理与简单实现
  • 原文地址:https://www.cnblogs.com/SchrodingerDoggy/p/14234476.html
Copyright © 2011-2022 走看看