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