STL源码剖析读书笔记
求offer呀
这个作者很懒,什么都没留下…
展开
-
traits编程技法
iterator模式定义如下:提供一种方法,是指能够依次序寻访某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表达。 迭代器是一种智能指针 迭代器最重要的编程工作就是对opertor*和operator->进行重载工作。在算法中运用迭代器时,很可能会用到其相应型别。利用function template的参数推导机制,声明一个变量,以“迭代器所指对象的型别”为型别。 迭代器...原创 2018-07-31 19:21:48 · 353 阅读 · 0 评论 -
deque
deque概述 deque是一种双向开口的连续线性空间。可以在头尾两端分别做元素的插入和删除操作。 deque和vector的不同: 1)deque可以常数时间内对起头端进行元素的插入或移除操作 2)deque没有容量观念,它是动态地以分段连续空间组合而成,随时可以增加一段新的空间并链接起来。 deque中控器 deque是由一段一段的定量连续空间构成。deque采用一块所谓的ma...原创 2018-08-06 09:21:43 · 192 阅读 · 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 · 111 阅读 · 0 评论