1.STL

STL是standard Template Library即标准模板库的英文缩写,是惠普实验室开发的一系列软件的统称。从根本上讲,STL是一些“容器”的集合,这些容器有list,vector,map,set等,同时它也是一些算法和其他组件的集合。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)六个部分

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

对算法的理解:是应用在容器上以各种方法处理其数据的的功能和行为。例如对其数据进行排序、检索和合并等的算法。通俗讲就是就是处理容器里面数据的方法,如往杯子里面倒水。

迭代器:迭代器就是使容器和数据行为(算法)相互作用,可以把迭代器看做是指向容器中元素的一个普通指针,可以依次指向元素的一个后继元素。迭代器将容器和算法联系在了一起。通俗讲,迭代器就是往杯子里面倒水的水壶,把杯子和水联系在了一起,起到一个中介的作用。

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

2.Boost库

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

其目的是为C++程序员提供免费、同行审查的、可移植的程序库。Boost库可以与C++标准库完美共同工作,并且为其提供扩展功能。Boost库使用Boost License来授权使用,根据该协议,商业的非商业的使用都是允许并鼓励的。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐