zoukankan      html  css  js  c++  java
  • stl(1)stl简介

    参考:https://www.jianshu.com/p/a67aa26134d4

    stl,Standard Template Library的简称,是C++的一个标准模板库,是C++标准库的一部分,里面提供了很多我们在编码过程中常用的一些模板。

    主要包含以下六大组件:

    1、容器(containers):STL内部封装好的数据结构,一种class template,常用的包括vector、list、deque、set、map、multiset、multimap等

    2、算法(algorithm):一种function template,常用的有sort、search、copy、erase等

    3、迭代器(iterator):泛型指针,是一种智能指针,是一种将operator*,operator->,operator++,operator–等指针相关操作予以重载的class template。所有STL容器都附带自己的迭代器

    4、配接器(adapter):一种用来修饰容器(container)或仿函数(functor)或迭代器(iterator)接口的东西。如queue和stack。它们的底部完全借助deque,所有操作都由底层的deque供应。改变functor接口者,称为functor adapter,改变container接口者,称为container adapter;改变iterator接口者,称为iterator adapter。

    5、配置器(allocator):负责空间配置与管理。是一个实现了动态空间配置、空间管理、空间释放的class template。一般SGI STL为每一个容器都指定其缺省的空间配置器为alloc(SGI配置器)

    6、仿函数(functor):行为类似函数,就是使一个类的使用看上去象一个函数,具有可配接性。它的具体实现就是通过在类中重载了operator(),使这个类具有了类似函数的行为,就是一个仿函数类了。一般函数指针、回调函数可视为狭义的仿函数。以操作数的个数划分,可分为一元和二元仿函数;以功能划分,可分为算术运算、关系运算、逻辑运算三大类。这部分内建的仿函数,均放在头文件里,使用时需引入头文件

    stl标准库是不需要安装的,只要安装了C++就可以使用了,只是使用某些功能的时候需要添加相应的头文件。
     
  • 相关阅读:
    Redis源代码分析(十三)--- redis-benchmark性能測试
    kvm中运行kvm
    umount.nfs device busy day virsh extend diskSpace, attachDisk
    ultravnc
    openNebula dubug
    maintenance ShellScripts
    virsh VMI deploy data serial xml
    cloud computing platform,virtual authentication encryption
    基于C 的libvirt 接口调用
    storage theory
  • 原文地址:https://www.cnblogs.com/maycpou/p/14190648.html
Copyright © 2011-2022 走看看