C++ | STL (Standard Template Library)

1 STL定义

STL实现数据结构和算法的分离;STL基于模板而不是面向对象。

STL中体现了泛型化程序设计的思想,引入了诸如需求(requirements),概念(concept),模型(model),容器(container),算法(algorithmn),迭代子(iterator)等。

2 STL组件介绍

容器(Container),是一种数据结构,如list,vector,和deques ,以模板类的方法提供。为了访问容器中的数据,可以使用由容器类输出的迭代器。
迭代器(Iterator),提供了访问容器中对象的方法。例如,可以使用一对迭代器指定list或vector中的一定范围的对象。迭代器就如同一个指针,但是,迭代器也可以是那些定义了operator*()以及其他类似于指针的操作符地方法的类对象。
算法(Algorithm),是用来操作容器中的数据的模板函数。例如,STL用sort()来对一个vector中的数据进行排序,用find()来搜索一个list中的对象,函数本身与他们操作的数据的结构和类型无关,因此他们可以在从简单数组到高度复杂容器的任何数据结构上使用;
仿函数(Functor)
适配器(Adaptor)
分配器(allocator)

2.1 Container

Guess you like

Origin blog.csdn.net/qq_38844835/article/details/119986644