在c++中适配器按我的理解就是一种基于容器之上的,进一步封装的容器。适配器的所有接口都是由底层容器提供或进一步封装,去适应特定的应用。
顺序容器适配器包括三种:stack,queue和priority_queue。
1. stack
stack所关联的容器可以是list,vector或deque的任意一种,其默认的是基于deque实现的。
2. queue
queue允许执行的操作是在容器末尾添加元素,在首部弹出元素,所以对于queue的底层容器必须能提供push_back()和pop_front()操作,因此queue只能基于list或deque容器。不能建立在vector上,因为vector不提供pop_front()方法。默认queue基于deque实现。
3. priority_queue
priority_queue要求提供随机访问功能,因此只能建立在vector和deque容器上,不能建立在list上。默认priority基于vector实现。