![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL源码剖析读书笔记
求offer呀
这个作者很懒,什么都没留下…
展开
-
traits编程技法
iterator模式定义如下:提供一种方法,是指能够依次序寻访某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表达。迭代器是一种智能指针迭代器最重要的编程工作就是对opertor*和operator->进行重载工作。在算法中运用迭代器时,很可能会用到其相应型别。利用function template的参数推导机制,声明一个变量,以“迭代器所指对象的型别”为型别。迭代器...原创 2018-07-31 19:21:48 · 351 阅读 · 0 评论 -
deque
deque概述deque是一种双向开口的连续线性空间。可以在头尾两端分别做元素的插入和删除操作。 deque和vector的不同: 1)deque可以常数时间内对起头端进行元素的插入或移除操作 2)deque没有容量观念,它是动态地以分段连续空间组合而成,随时可以增加一段新的空间并链接起来。deque中控器deque是由一段一段的定量连续空间构成。deque采用一块所谓的ma...原创 2018-08-06 09:21:43 · 191 阅读 · 0 评论 -
vector
vector概述vector的数据安排以及操作方式与array非常类似,两者唯一的差别在于: array是静态空间,一旦配置了就不能改变,要更改空间的大小得先配置一块新空间,再将元素一一搬入新空间,再把原来的空间释放给系统。 vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素。vector的迭代器vector维护的是一个连续线性空间,所以不论其元素型...原创 2018-08-02 15:18:18 · 112 阅读 · 0 评论 -
list
list概述相较于vector的连续空间,list就显得复杂的多,它的好处是每次插入或删除一个元素,就配置或释放一个元素空间。list的节点(node)STL list的节点(node)结构: template < class T> struct __list_node{ typedef void* void_pointer; void_pointer ...原创 2018-08-02 16:09:12 · 110 阅读 · 0 评论