六一的部落格


关关难过关关过,前路漫漫亦灿灿。



adaptor

  1. 容器适配器接受一种已有的容器类型,使其行为看起来像一种不同的类型

  2. 容器适配器的操作是基于容器本身允许的操作实现的

  3. 每个容器适配器都基于底层容器类型的操作定义了自己的特殊操作

    我们只能使用适配器操作,不能使用底层容器类型的操作

  4. array和forward_list不能作为容器适配器的底层容器

    顺序容器 队列 优先级队列
    vector/string O X O
    deque O O O
    list O O X

类型成员

-
size_type 元素个数类型
value_type 元素类型
container_type 底层容器类型

操作


创建容器适配器

1A a;        // 空适配器
2
3A a(c);     // 使用容器c拷贝初始化a

创建空适配器

1deque<int> deq;

使用底层容器初始化适配器

栈和队列支持

1deque<int> deq;
2stack<int> stk(deq);

size操作

获取元素个数

1a.size();

empty操作

容器为空返回true, 否则返回false

1a.empty();
2// <=>
3// !a.size();

顺序容器适配器


adaptor

  1. 容器适配器接受一种已有的容器类型,使其行为看起来像一种不同的类型

  2. 容器适配器的操作是基于容器本身允许的操作实现的

  3. 每个容器适配器都基于底层容器类型的操作定义了自己的特殊操作

    我们只能使用适配器操作,不能使用底层容器类型的操作

  4. array和forward_list不能作为容器适配器的底层容器

    顺序容器 队列 优先级队列
    vector/string O X O
    deque O O O
    list O O X

类型成员

-
size_type 元素个数类型
value_type 元素类型
container_type 底层容器类型

操作


创建容器适配器

1A a;        // 空适配器
2
3A a(c);     // 使用容器c拷贝初始化a

创建空适配器

1deque<int> deq;

使用底层容器初始化适配器

栈和队列支持

1deque<int> deq;
2stack<int> stk(deq);

size操作

获取元素个数

1a.size();

empty操作

容器为空返回true, 否则返回false

1a.empty();
2// <=>
3// !a.size();