iam*_*ind 17
std::vector有几个可访问性和修改操作相比std::stack.如果是std::stack,您可能只需要以系统的方式执行操作,您可以push()在最后一个元素或pop()最后一个元素之上.
std::vector在这种意义上,它具有更多的灵活性,它有多个操作,您可以insert()在两者之间或erase()之间.
重点是,std :: stack需要提供底层容器.默认情况下std::deque,它可以是std::vector或者std::list也可以.
另一方面,std::vector保证是一个可以使用的连续数组operator [].
stack是一堆.它只能推动和弹出.A vector可以做其他事情,比如插入中间.这增加了灵活性,但减少了保证.
例如,对于堆栈,如果您将A然后B推到后面,那么您可以保证它们将按顺序B移除,然后A. vector不保证.
| 归档时间: |
|
| 查看次数: |
19432 次 |
| 最近记录: |