STL源码剖析学习笔记(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/li_zi_ang1354/article/details/78922710

本系列文章参考《stl源码剖析》,以自己的观点解释stl,当作自己的学习笔记,如有错误请指出,谢谢大家。


本系列文章适用于对stl有了解但是还未参透者,先从使用的角度,逐渐渗透到其原理,流程为先介绍各种组件及其联系,然后介绍容器(vector,list...)的使用,并剖析其主要实现原理,然后介绍迭代器,空间配置器(内存管理),及其他。


首先介绍stl六大组件

1.容器(containers):如vector,list,set,map,从实现角度来看stl容器是一种类模板(class template)。

2.算法(algorithms):如sort,search,copy,erase... 从实现的角度来讲stl算法是一种函数模板(function template)

3.迭代器(iterators):算法与容器之间的胶合剂,可以认为是互相使用的工具,所谓的"泛型指针"。

4.仿函数(functors):行为类似函数,可作为算法的某种策略,从实现的角度,仿函数是一种重载了operator()的class或class template,一般函数指针可视为狭义的仿函数。

5.配接器()

6.配置器(allocators):负责空间配置与管理,从实现的角度来说,配置器是一个实现了动态空间配置,空间管理,空间释放的class template。




猜你喜欢

转载自blog.csdn.net/li_zi_ang1354/article/details/78922710