1.容器(containers):各种数据结构,如vector, list, deque, set, map等,用来存放数据,从实现的角度来看,STL是一种class template。
2.算法(algorithms):常用算法如sort, search, copy, erase等,从实现的角度来看,STL算法是一种function template。
3.迭代器(iterators):扮演容器和算法之间的胶合剂,是所谓的“泛型指针”。从实现的角度看,迭代器是一种将operator*, operator->, operator++, operator–等指针相关操作予以重载的class template。
4.仿函数(functors):行为类似函数,可作为算法的某种策略。从实现的角度看,仿函数是一种重载了operator()的class或class template,一般函数指针可视为狭义的仿函数。
5.配接器(adapters):一种用来修饰容器或仿函数或迭代器接口的东西。
6.配置器(allocators):负责空间配置与管理。从实现的角度来讲,配置器是一个实现了动态空间配置、空间管理、空间释放的class template。
总结:容器通过配置器取得数据储存空间,算法通过迭代器存取容器内容,仿函数可以协助算法完成不同的策略变化,配接器可以修饰或套接仿函数。
————————————————
版权声明:本文为CSDN博主「谜底666」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/midi666/article/details/104864986