【发布时间】:2015-10-27 06:59:08
【问题描述】:
我在使用deque 容器时有些困惑。
我将vector 与deque 进行了比较,我动态输入了整数值,并观察到在几次插入向量的对象开始四处移动并且地址已更改,这似乎是合乎逻辑的。然而,即使我输入了几百个整数,双端队列的对象仍然在内存中的同一位置。
这个观察让我想到 deque 保留的内存比 vector 大得多,但如果这是真的,那么使用动态内存而不是静态内存有什么意义呢?即使是这样,它也会在某处耗尽内存并需要更改内存上的位置,所以下一个问题是它是移动每个对象还是只是开始在其他地方使用内存并将其与之前的位置链接?
deque 容器支持迭代器算法,但使用它是否安全?我想知道双端队列如何管理内存,而不是人们可能更喜欢如何使用它。
【问题讨论】:
标签: c++ containers