一、配接器介绍
- STL提供的各种配接器中:
- 改变仿函数接口者:称为function adapter
- 改变容器接口者:称为container adapter
- 改变迭代器接口者:称为iterator adapter
二、容器配接器介绍
- STL提供的两个容器queue和stack,其实都只是配接器而已
- 它们都是修饰deque的接口而形成另一种容器风格
- queue和stack源码在前面已经介绍了
三、stack
- stack的底层由deque构成
- 应用层使用要包含头文件<stack>,SGI STL将所有的实现细节定义于<stl_stack.h>中
- stack类封装了deque对外接口,只开放符合stack原则的几个函数,所以说stack是一个配接器,一个作用于容器之上的配接器
template<class T,class Sequence=deque<T>>
class stack
{
protected:
Sequence c; //底层容器
};
四、queue
- queue的底层由deque构成
- 应用层使用要包含头文件<queue>,SGI STL将所有的实现细节定义于<stl_queue.h>中
- queue类封装了deque对外接口,只开放符合queue原则的几个函数,所以说queue是一个配接器,一个作用于容器之上的配接器
template<class T, class Sequence = deque<T>>
class queue
{
protected:
Sequence c; //底层容器
};