STL容器适配器不一致

kol*_*vra 2 c++ stl data-structures

STL 队列front()back()方法,但堆栈只有top(),但没有bottom().为什么会这样?

bam*_*s53 8

唯一的原因stack是禁止访问包装容器,除非作为堆栈,即仅访问顶部.如果您想要一个可以用作堆栈但不限于仅作为堆栈工作的容器,那么您可以使用不同的序列容器,例如raw vector.

类似地,唯一的原因queue是禁止访问被包装的容器,除了作为队列,即访问前面和后面.如果您想要一个可以用作队列但不仅限于作为队列工作的容器,那么您可以使用不同的序列容器,例如raw vector.