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 一样大。

  • 相关阅读:
    memcached使用入门
    winform代码生成器(三)
    Spark + sbt + IDEA + HelloWorld + MacOS
    CentOS下Hive搭建
    36. 有效的数独
    HADOOP依赖
    判别数字图片能否「一笔完成」
    【网易微专业】图表绘制工具Matplotlib
    【18.065】Lecture2
    【18.065】Lecture1
  • 原文地址:https://www.cnblogs.com/xiaojianliu/p/12497198.html
Copyright © 2011-2022 走看看