zoukankan      html  css  js  c++  java
  • vector 对象是如何增长的

    vector 对象是如何增长的

    当不得不获取新的内存空间时,vector string 的实现通常会分配比新的空间需求更大的内存空间。容器预留这些内存空间,可用来保存更多的新元素,这样就不需要每次添加新的元素都重新分配容器的内存空间了。

    管理容量的成员函数

    reverse 并不改变容器中元素的数量,它仅影响 vector 预先分配多大的内存空间。

    只有当需要的内存空间超过当前的容量时,reverse 调用才会改变vector的容量。

    如果需求小于或等于当前容量,reverse 什么也不做,特别是,当需求大小小于当前容量时,容器不会回退你内存空间。

    也就是说 reverse 永远不会较少容器占用的内存空间,类似的 resize 函数只改变容器中元素的数目,而不是容器的容量。

    在新标准中,可以使用 shrink_to_fit 来要求 dequevectorstring 退回不需要的内存空间,但是具体的实现可能忽略此请求。

    capacity 和 size

    容器的 size 表示当前已经保存的元素的数目。

    容器的 capacity 表示不需要重新分配内存的前提下,它最多可以保存的元素数量。

    capacity 至少与 size 一样大。

  • 相关阅读:
    判断文件结束,feof……
    第五篇 分治思想(例子待加)
    第四篇 枚举思想
    第三篇 贪心思想
    第二篇 递归思想
    第一篇 递推思想
    爬虫系列
    整数划分问题
    html中a标签做容器的问题
    H5学习小结——div+css创建电子商务静态网页
  • 原文地址:https://www.cnblogs.com/xiaojianliu/p/12497198.html
Copyright © 2011-2022 走看看