随笔分类 -  stl源码剖析

stl源码剖析-序列式容器 之 deque
摘要:deque是一种双向开口的连续线性空间,可以在头尾两端分别做元素插入和删除操作。deque没有“容量”(capacity)的观念,是动态地以分段连续空间组合而成,随时可以增加一段新空间如何连接起来。 deque的中控器 deque是由一段段的定量连续空间组成。一旦需要在deque的前端或者尾端增加新 阅读全文
posted @ 2019-11-03 20:38 LeeYatWah 阅读(217) 评论(0) 推荐(0)
stl源码剖析-序列式容器 之 list
摘要:较久以前学过数据结构,对链表的定义和行为结构有过了解,所以阅读源码学习stl定义的list容器的并不算吃力。 list与vector都是两个常用的容器,与vector不同,list不是连续线性空间的,list是一个双向链表。每次插入或者删除一个元素,将配置或者释放一个元素空间,因此,list对于空间 阅读全文
posted @ 2019-10-20 14:51 LeeYatWah 阅读(285) 评论(0) 推荐(0)
stl源码剖析-序列式容器 之 vector
摘要:vector的数据安排以及操作方式,与array(c++自身提供的序列式容器)非常相似。两者唯一的差别在于空间的运用的灵活性。array是静态空间,一旦配置了将不能随意更改其大小,若要更改需要重新配置一块新的空间,如何将元素从旧址中一一搬迁,再释放原来的系统。而vector是动态空间,随着元素的加入 阅读全文
posted @ 2019-10-19 18:14 LeeYatWah 阅读(233) 评论(0) 推荐(0)
stl源码剖析-迭代器概念与traits编程技法
摘要:STL的中心思想在于:将数据容器和算法分开,彼此独立设计,最后再以一帖胶着剂将它们撮合在一起。 这帖胶着剂就是接下来要介绍的迭代器。算法是通过迭代器来对容器进行操作的。 迭代器是一种智能指针 迭代器是一种行为类似指针的对象(智能指针),其最重要的工作就是对opperator* 和 operator- 阅读全文
posted @ 2019-10-18 19:47 LeeYatWah 阅读(168) 评论(0) 推荐(0)
stl源码剖析-空间配置器
摘要:stl提供了六大组件,其中之一的便是配置器。配置器的作用是负责空间配置和管理,从实现的角度看,配置器是一个实现了动态空间配置、空间管理、空间释放的类模板。stl提供的配置器配置对象为内存,而非硬盘空间或其他空间。 SGI特殊空间配置器,std::alloc stl的配置器标准与规范不同,其名称为al 阅读全文
posted @ 2019-10-18 16:58 LeeYatWah 阅读(212) 评论(0) 推荐(0)