STL-适配器(adaptor)

适配器(adaptor)

本质上,适配器是一种机制,能使某种事物的行为看起来像另外一种事物一样。一个容器适配器接受一种已有的容器类型,使其行为看起来像一种不同的类型(stack接受一个除array和forward_list外的顺序容器)。
通常适配器内部不怎么操作,而总是调用底层操作。
标准库中的顺序容器适配器

  • stack
  • queue
  • priority_queue

每个适配器有两个构造函数:

  • 默认构造函数:构造空对象
  • 拷贝构造函数:可接受适配的容器
1
2
3
deque<int> deq;
stack<int> stk(deq);//从deq中拷贝元素到stk

适配器都有添加和删除和访问尾元素的能力,所以不能构造在array上,同理,forward_list也不能用来构造适配器。