STL源码笔记(12)—序列式容器之deque(二)
再谈deque数据结构
我们知道deque是通过map管理很多个互相独立连续空间,由于对deque_iterator的特殊设计,使得在使用的时候就好像连续一样。有了deque_iterator的基础(例如重载的操作符等),对于我们实现容器的一些方法就十分方便了。与vector一样,deque也维护一个start,和finish两个迭代器,start指向容器中的一个元素,finish指向最后一个元素的后一个位置(前闭后开),从微观上讲,start指向map管理的第一个缓冲的第一个元素,finish管理最后一个缓冲的某一个元素(该元素是整个容器的最后一个元素)的后一个位置。 我们知道deque是通过m