STL剖析

作者: 卡卡西sisi | 来源:发表于2018-03-13 21:47 被阅读0次
STL.jpeg

1, allocator

两级配置方法,128bytes为边界,第一级:malloc/free or new/delete; 第二级:memory pool(free lists)
简单的memory pool 实现:


1.JPG

STL 中分为16个freelists, 每个管理8,16,24 ... 128大小的块

2 iterator

利用iterator_trait获得associated type

template <class Ite>
struct iterator_trait
{
  typename Ite::value_type value_type;
}

//partial specification for pointer
template<class T>
struct iterator_trait<T*>
{
  typedef T value_type;
}

3 container Container.jpeg

  • 红黑树
    • 黑色节点个数一致
    • 红色节点的子节点为黑色
    • root = 黑色

      基本的旋转维护其平衡 270025006402285.gif

4, functor

class Fun
{
    bool operator() (){}
};

相关文章

  • 《STL源码剖析》学习之traits编程

    《STL源码剖析》学习之traits编程

  • STL剖析

    1, allocator 两级配置方法,128bytes为边界,第一级:malloc/free or new/de...

  • STL内存管理详细分析

    STL中内存管理非常精妙,本文以SGI STL为例,分析其内存管理的设计思路,也是对侯捷老师的《STL源码剖析》中...

  • STL 源码剖析

    GitHub参考STL"源码"剖析-重点知识总结C++STL自己总结 序列式容器 所谓序列式容器,其中的元素都可序...

  • STL源码剖析

    空间配置器 分为第一级空间配置器,和第二级空间配置器 配合使用 第一级空间配置器分配大内存大于128bytes...

  • Boolan微专业-STL与泛型编程(Week02)

    STL与泛型编程 主要内容: 简单介绍了 OOP 和 GP 编程。详细剖析了 STL 中的分配器、list、Ite...

  • GeekBand-笔记-05

    总结:侯老师的这门stl课,只看视频和ppt是不太够的。应该结合侯老师的《stl源码剖析》和Nicolai M J...

  • C++11:type_traits (1) primary ty

    当我第一次看《STL源码剖析》的时候,我就觉得type traits是stl的基础,是一个很有趣,很值得学习的东西...

  • 关于实现STL的一点感想

    在根据《STL源码剖析》实现STL的过程中,有了一点感想,这里进行记录,给感兴趣的朋友做个参考。代码参见githu...

  • STL源码剖析——vector

    前言 最近开始看《STL源码剖析》,由于是第一次看,所以开个文章记录和总结下该书印象笔记深刻和重要的知识点。本文主...

网友评论

      本文标题:STL剖析

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