• C++著名程序库


    摘自 https://www.cnblogs.com/findumars/p/6146907.html
    大家涉及的C++库在这篇博文基本都有介绍。mark一下

    平时STL用得比较多,boost有涉及;也没留意这些库之间居然有这么丰富。在此宏观地提下STL,boost:

    STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。

     

      1.STL

     STL从根本上讲,STL是一些“容器”的集合,这些容器有list,vector,map,set,multimap,multiset等,同时它也是一些算法和其他组件的集合。STL的目的就是标准化组件,不用再重新开发,可以使用现成的组件。STL现在是C++的一部分,因此不用额外安装。

      在C++标准中,STL被组织为下面的17个头文件:<algorithm>、<deque>、<functional>、<iterator>、<array>、<vector>、<list>、<forward_list>、<map>、<unordered_map>、<memory>、<numeric>、<queue>、<set>、<unordered_set>、<stack>和<utility>。

      STL可分为容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接器(adapters)、算法(algorithms)、仿函数(functors)六个部分,详见《STL标准库》《STL源码剖析》。

      关于容器的理解:容器就是数据在内存中组织的方法,例如数组、堆栈、队列、链表和二叉树等。

      对算法的理解:是应用在容器上以各种方法处理其数据的的功能和行为。例如对其数据进行排序、检索和合并等的算法。

      迭代器:迭代器就是使容器和数据行为(算法)相互作用,可以把迭代器看做是指向容器中元素的一个普通指针,可以依次指向元素的一个后继元素。

      参考文献:http://blog.sina.com.cn/s/blog_4bbfa6a101000ay2.html

      泛型思维,多型与虚拟,STL源码剖析

      2.Boost库

      Boost库是为C++语言标准库提供扩展的一些C++程序库的总称。

      boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。

      boost主要包含一下几个大类:字符串及文本处理、容器、迭代子(Iterator)、算法、函数对象和高阶编程、泛型编程、模板元编程、预处理元编程、并发编程、数学相关、纠错和测试、数据结构、输入/输出、跨语言支持、内存相关、语法分析、杂项。

    BOOST程序库开发

    第0章 导读 1
    第1章 Boost程序库总论 7
    第2章 时间与日期 17
    第3章 内存管理 61
    第4章 实用工具 95
    第5章 字符串与文本处理 163
    第6章 正确性与测试 213
    第7章 容器与数据结构 239
    第8章 算法 327
    第9章 数学与数字 337
    第10章 操作系统相关 371
    第11章 函数与回调 419
    第12章 并发编程 467
    第13章 编程语言支持 513
    第14章 其他Boost组件 537
    第15章 Boost与设计模式 547
    第16章 结束语 559
    附录

  • 相关阅读:
    [导入]简单而强力的JS退弹代码(强制 弹出)
    [导入]在上传的图片上写字
    [导入]无法创建WEB项目文件路径与URL不符 处理方法
    [导入]ASCII码表完整版
    [导入]访QQ/MSN淡出窗口例子二则
    [导入]生成图片缩略图
    [导入]javascript调用webservice例子
    在字典的三级菜单中添加内容
    服务列表中找不到mysql
    CentOS 7安装后的配置
  • 原文地址:https://www.cnblogs.com/cjyp/p/10003788.html
Copyright © 2020-2023  润新知