STL容器

作者: 扎Zn了老Fe | 来源:发表于2017-09-13 14:36 被阅读0次

vector

  • 概述: 连续数组, malloc开辟内存空间
  • 迭代器: 是一个对象指针
  • 内存管理:
    当添加新元素时, 内存不够触发内存重置操作, g++ 1.5倍, vs 2倍;
    删除元素时, 不会自动缩小空间;

list

  • 概述: 双向链表
  • 迭代器:
  • 内存管理:

deque

  • 概述: 分段连续, 用一个map管理
  • 迭代器: 管理段内first, last, cur指针, 已经指向map
  • 内存管理:
    在头部或者尾部最后会有一个备用空间, 添加元素没有备用空间时触发开辟新段;
    删除时, 元素会移动,段内没有元素时会释放掉内存空间;

set

  • 概述: 底层是RB树
  • 迭代器: 调用RB树的const迭代器
  • 内存管理: 与list类似

muitiset

  • 概述:与set相同, 唯一的差别在于它语序键值重复, 因此他的插入操作采用的是底层机制RB-tree的insert_equal()而非insert_unique();
  • 迭代器:
  • 内存管理:

hash_set

  • 概述:
  • 迭代器:
  • 内存管理:

hash_multiset

  • 概述:
  • 迭代器:
  • 内存管理:

map

  • 概述: 节点存放pair的RB树
  • 迭代器: 调用RB树的迭代器
  • 内存管理:

multimap

  • 概述:与set相同, 唯一的差别在于它语序键值重复, 因此他的插入操作采用的是底层机制RB-tree的insert_equal()而非insert_unique();
  • 迭代器:
  • 内存管理:

hash_map

  • 概述:
  • 迭代器:
  • 内存管理:

hash_multimap

  • 概述:
  • 迭代器:
  • 内存管理:

相关文章

  • C++标准库结构与使用

    本文预览: 标准库和STL STL的六大组件 STL容器分类 STL容器使用 标准库和STL ** 我们在写C++...

  • [C++] STL 容器

    参考:[C++] STL 容器 (一) - 基本介紹[C++] STL 容器 (二) - Iterator 部分示例:

  • GeekBand C++第五周

    STL 对定义的通用容器分三类:顺序性容器、关联式容器和容器适配器。 标准STL顺序容器:vector、deque...

  • STL容器

    STL容器迭代器 STL容器迭代器失效情况分析、总结[https://ivanzz1001.github.io/r...

  • 2019-10-13 STL模板

    STL共有六大组件 1、容器 2、算法 3、迭代器 4、仿函数 6、适配器 STL容器的实现原理 STL来管理数据...

  • C++ STL是什么

    STL 组件主要包括容器,迭代器、算法和仿函数。STL 基本结构和 STL 组件对应。 STL 主要由迭代器、算法...

  • STL概论与版本简介

    1 STL概论与版本简介 1.1 STL概述 STL提供六大组件,彼此可以组合套用: 容器(Containers)...

  • 面试知识点(5)STL

    容器类型 STL容器主要分为 顺序容器 vector(向量容器) deque(双端队列容器) list(双向链...

  • 五、STL容器共性机制(解释二的疑问)、STL容器使用时机

    1.STL容器共性机制 STL容器所提供的都是值(value)寓意,而非引用(reference)寓意,也就是说当...

  • (Boolan) STL与泛型编程第四周笔记(上)

    1 STL组建(STL Components) 关键组建:容器,迭代器,算法 STL的基本观念就是将数据和操作分离...

网友评论

      本文标题:STL容器

      本文链接:https://www.haomeiwen.com/subject/isxzjxtx.html