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

 

  2.Boost库

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

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

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

猜你喜欢

转载自www.cnblogs.com/cjyp/p/10003788.html