关于STL和Boost的理解
2016-07-05 14:45
162 查看
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.html2.Boost库Boost库是为C++语言标准库提供扩展的一些C++程序库的总称。其目的是为C++程序员提供免费、同行审查的、可移植的程序库。Boost库可以与C++标准库完美共同工作,并且为其提供扩展功能。Boost库使用Boost License来授权使用,根据该协议,商业的非商业的使用都是允许并鼓励的。
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.html2.Boost库Boost库是为C++语言标准库提供扩展的一些C++程序库的总称。其目的是为C++程序员提供免费、同行审查的、可移植的程序库。Boost库可以与C++标准库完美共同工作,并且为其提供扩展功能。Boost库使用Boost License来授权使用,根据该协议,商业的非商业的使用都是允许并鼓励的。
相关文章推荐
- codeblocks快捷键(转载)
- npm 重点小结
- spark-submit提交参数设置
- 搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (三)实现数据库接口层和业务逻辑层
- java 关于初学面向对象的问题九:java开发的某些机制
- 进入docker容器推荐的方法
- DTD语法
- 字符设备操作
- 如何自己动手实现 KVO
- ListView深入理解
- wstring to wchar_t*
- CSS改变placeholder的颜色
- 三消游戏中重新刷块的bug记录
- openGL中矩阵相乘的顺序
- 搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (二)创建你的项目
- javascript中forEach
- 导航栏和下划线滚动标题
- oracle Client11G静默安装过程——linux环境
- Valid Palindrome
- UVa 247 - Calling Circles