STL六大组件
来源:互联网 发布:大众mirrorlink 软件 编辑:程序博客网 时间:2024/06/15 19:13
STL六大组件
1、容器(containers)
如vector、list、deque、set、map用来存放数据。从实现的角度看,STL容器是一种类模板。
2、算法(algorithms)
如sort、search、copy、erase。从实现角度看,STL算法是一种函数模板。
3、迭代器(iterators)
扮演容器与算法之间的胶合剂,就是所谓的“泛型指针”。从实现的角度看,迭代器是一种将operator*、operator->、operator++、operator--等指针相关操作予以重载的类模板。原生指针(native pointer)也是一种迭代器。
4、仿函数(functors)
行为类似函数,可以作为算法的某种策略。仿函数是一种重载了operator()的类或类模板。一般函数指针可视为狭义的仿函数。
5、适配器(adapters)
一种用来修饰容器、仿函数、迭代器接口的东西。
STL提供的queue和stack,虽然看似容器,其实只能算是一种容器适配器,因为他们的底层完全是由借助deque,所有操作都是由底层的deque供应。
6、配置器(allocators)
负责空间配置与管理。从实现的角度看,配置器是一个实现了空间配置、空间管理、空间释放的类模板。
STL六大组件交互关系:
Container通过Allocators取得数据存储空间。
Algorithm通过Iterator存取Container内容。
Functor可以协助Algorithm完成不同的策略变化
Adaptor可以修饰或套接Functor。
0 0
- STL六大组件
- STL六大组件
- STL六大组件简介
- STL六大组件
- STL六大组件
- STL 六大组件概述
- STL六大组件
- STL的六大组件
- STL六大组件
- STL六大组件
- C++ stl六大组件
- STL六大组件
- STL六大组件
- STL六大组件
- STL六大组件
- STL六大组件
- STL六大组件
- c++STL六大组件
- Linux 搭建Ad hoc网络
- 虚拟机VMware安装XP系统错误解决办法
- hdu 1233还是畅通工程
- 使用jackson对Java对象与JSON字符串相互转换
- OS X EI capitan openssl问题
- STL六大组件
- struts2(一)
- 分布式事务入门-Spring+JTA+Atomikos+Hibernate+JMS
- 《我是谁:没有绝对安全的系统》观影感受
- gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf 和glibc-2.14的安装与问题解析
- CAS实现单点登录(SSO)经典完整教程
- 自己动手搭建ava通用开发框架之一—底层框架搭建
- AsynTask 异步任务
- 【正则】常用正则表达式