deque如何模拟连续空间 (全都是deque iterators的功劳)
观察以下函数的返回值
size()函数中的“-”号不是单纯的减号
操作符重载: -> 和 -*
注意减号的重载
操作符重载:++ –
++ 后是否到了边界,到了边界跳到下一个结点。setnode重设边界
–是否到了边界上,如果到了边界上,退回到前一个缓冲区
操作符重载 +=
_M_map记录所有的缓冲区,是一个vector的结构。扩容的时候copy是copy到中段,这样前后都可以等量扩充
start、finish指向所有的缓冲区的开始和结尾
stack和queue是deque的扩充,内部使用一个deque来执行一些操作,只需要封掉一些功能就可以。
stack和queue能不能使用别的作为底层
如果这些结构可以提供stack和queue所需要的功能就可以
stack可以使用vector作为底层
queue不能使用vector作为底层
stack和queue都不能使用set和map作为底层