STL标准模板库
2020-04-27 11:31:51 5 举报
AI智能生成
史上最全最详细的C++标准模板库STL-思维导图知识树
作者其他创作
大纲/内容
Standard Template Library
标准模板库
标准模板库
中心思想:将数据容器(Containers)和算法(Algorithms)分开独立设计,再利用迭代器(Iterators)将二者结合在一起。
实现技术:以模板(Template)技术实现,是泛型编程GP(Generic Programming)的典范。
意义作用:实现了常用的数据结构和算法,并将二者分离,耦合性(Coupling)极低,复用性(Reusability)极高,
且符合开放封闭原则(Open-Closed),即用户可以添加自己的组件。
且符合开放封闭原则(Open-Closed),即用户可以添加自己的组件。
六大组件
容器
Containers
Containers
存东西。class template实现。头文件<vector>、<list>、<map>等等。
存储并管理同一种类型变量的数据结构,分为序列式容器和关联式容器两大类。
算法
Algorithms
Algorithms
解决问题。function template实现。头文件<algorithm>。
具体的解决某一类问题的方法,避免后人重复造轮子。
迭代器
Iterators
Iterators
胶水。class template实现。头文件<iterator>。
行为类似指针的对象,使用泛型指针实现,扮演容器和算法之间的胶合剂。
将operator++、operator->和operator*等指针习惯行为重载的class template。
仿函数
Functors
Functors
满足不同用户具体算法需求。class template实现。头文件<functional>。
又叫函数对象(Function Objects),类似函数指针,即行为类似函数的类对象,
重载了函数调用符operator( )的class template。
重载了函数调用符operator( )的class template。
STL提供的算法一般有两个版本,一种是常用默认的,一种是泛化的。泛化的使用
仿函数可以扩充算法功能,让算法能够处理不同的数据类型,包括用户自定义数据结构。
仿函数可以扩充算法功能,让算法能够处理不同的数据类型,包括用户自定义数据结构。
适配器
Adapters
Adapters
轴承、转换器。class template实现。
用来修饰容器或仿函数或迭代器接口的工具,扩充其功能。
空间配置器
Allocators
Allocators
分配内存。class template实现。头文件<memory>。
负责内存空间的配置和管理,采用类模板class template技术实现。
收藏
收藏
0 条评论
下一页