文章目录
- stack
- 适配器
- 关于为什么不直接在成员函数里调用push_back...
stack
适配器
stack和queue使用了container适配器,因为它觉得我不需要自己实现一个容器来实现而直接用现成的
stack和queue并没有迭代器,因为本来就是后进先出,先进先出,怎么可能让迭代器随便访问呢?
适配器讲的全一点是容器适配器,对容器进行封装改造控制适配出栈和队列
并且stl中的栈采用这种适配器,可以做到链式栈和数组栈秒切换,那这么神奇怎么做到的?模板!
其实到这里栈的底层实现已经没什么了,那这样模拟每次都要传模板参数有点烦,库里没传模板参数,因为库里面为我们准备了默认容器双端队列,这样就不用每次传模板参数了!
关于为什么不直接在成员函数里调用push_back…
因为我们不是要对这个stack对象做什么,而是要对它的成员变量进行修改就可以了,就像修改成员变量int a 一样