C++适配器重载默认容器类型
最近在看C++ Primer,书中第329页提到在创建一个适配器时将一个命名的顺序容器作为第二个类型参数,来重载默认容器类型。
起初看到这句话时,还不是很能理解这个重载默认容器类型是什么意思,再看了一遍书才明白:三种适配器都有自己的默认容器类型,可以理解为是基于什么实现的,比如:默认情况下,stack和queue是基于deque实现的,priority_queue是基于vector实现的。但在不同的情况下,不同的容器类型有各自的优势,因此,我们有时可能需要将适配器的容器类型重载为我们需要的容器类型。但,对于这个容器类型是有一定的要求的:因为不同的适配器有不同的操作,因此,需要对应的容器类型提供这些操作的接口,才能使其重载为该适配器的容器类型。