Deque C ++ STL的容器

时间:2014-07-23 19:22:06

标签: c++

我对C ++中的deque容器有一些疑问。

  1. resize()[C98]和shrink_to_fit()[C11]有什么区别?

  2. 我了解到,当deque变满时,它会分配一小块额外的内存来为其添加新元素。我想知道新分配的内存块的大小。

  3. 感谢。

1 个答案:

答案 0 :(得分:1)

第1部分

deque有2个相关属性:容量大小。容量是我们为其分配内存的元素数。 Size是容器中当前元素的数量。

resize()通常只会将容器的大小修改为预期值。 容量通常不会改变。

shrink_to_fit()会请求deque释放额外的内存,以便内部容量减少到等于容器的大小

在C ++ 11之前,没有明显的方法来请求容器减少容量

第2部分

这是实现定义。