sentence.append(q1.substr(q1.find("in the dooryard"),string("in the dooryard").size()));
cout<
}
容器适配器
除了顺序容器,标准库还提供了三种顺序容器适配器:queue、
priority_queue 和 stack。适配器(adaptor)是标准库中通用的概念,包括容
器适配器、迭代器适配器和函数适配器。本质上,适配器是使一事物的行为类似
于另一事物的行为的一种机制。容器适配器让一种已存在的容器类型采用另一种
不同的抽象类型的工作方式实现。例如,stack(栈)适配器可使任何一种顺序
容器以栈的方式工作。表 9.22 列出了所有容器适配器通用的操作和类型。
size_type 一种类型,足以存储此适配器类型最大对象的长度
value_type 元素类型
container_type 基础容器的类型,适配器在此容器类型上实现
A a; 创建一个新空适配器,命名为 a
A a(c); 创建一个名为 a 的新适配器,初始化为容器 c 的副本
关系操作符 所有适配器都支持全部关系操作符:==、 !=、 <、 <=、 >、>=
覆盖基础容器类型
默认的 stack 和 queue 都基于 deque 容器实现,而 priority_queue 则
在 vector 容器上实现。在创建适配器时,通过将一个顺序容器指定为适配器的
第二个类型实参,可覆盖其关联的基础容器类型: