zoukankan      html  css  js  c++  java
  • 理解reserve与resize

    1、首先明白capacity与size的概念,capacity表示当前可以容纳多少个元素,size表示当前有多少个元素。为了避免频繁地分配内存,vector预留了一些内存。也就是说:size<=capacity。
    2、reserve(n)的目的是:使容器可以容纳n个元素,也就是修改capacity。
      a、如果n>capacity,重新分配内存,把原来的数据copy过来,修改capacity = n。
      b、如果n< = capacity,什么也不做,直接返回。
    3、resize(n)的目的是:修改当前元素的个数。 
      a、如果n<size,对尾部多余的元素进行析构。
      b、如果n=size,什么也不做。
      c、如果size<n<=capacity,在尾部补齐元素。没有指定构造方法,使用default构造方法。
      d、如果n>capacity,重新分配内存,把原来的数据copy过来,在尾部补齐元素。没有指定构造方法,使用default构造方法。

  • 相关阅读:
    12_常用类
    MyBatis_02 框架
    MyBatis_01 框架
    正则表达式
    11_异常处理
    产品经理成长之路(非原创)
    【Java每日一题】20161115
    【Java每日一题】20161114
    【Java每日一题】20161111
    【Java每日一题】20161110
  • 原文地址:https://www.cnblogs.com/nzbbody/p/3591406.html
Copyright © 2011-2022 走看看