STL和Boost库的关系【转】

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来授权使用,根据该协议,商业的非商业的使用都是允许并鼓励的。

 


--------------------- 
作者:姹紫_嫣红 
来源:CSDN 
原文:https://blog.csdn.net/songchunhong/article/details/51829128 
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://my.oschina.net/u/3584467/blog/3048363

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值