• 理解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构造方法。

  • 相关阅读:
    CF 1119 题解
    CF 582 题解
    CF 1098 题解
    CF 1129 题解
    CF 513 题解
    CF 417 D 题解
    ingress nginx遇到502错误,connect() failed (113 Host is unreachable) while connecting to upstream
    MySQL性能剖析
    MySQL的基准测试
    MySQL架构与历史
  • 原文地址:https://www.cnblogs.com/nzbbody/p/3591406.html
Copyright © 2020-2023  润新知