• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    vector向量reserve和resize的區別

    C++11

    方式/步調

    1. 1

      挪用reserve函數增添capacity容量,而size的巨細是沒有改變的(capacity是指vector當前能容納的最多元素的巨細,而size是指vector當前持有的元素的巨細)

      aec379310a55b31935abb9604ca98226cffc1750.jpg
    2. 2

      挪用函數reserve的前后輸出日記信息,capacity容量增添,size的巨細前后連結不變

      a08b87d6277f9e2ffd8f261d1030e924b899f369.jpg
    3. 3

      挪用resize函數既增添capacity容量,又增添size的巨細

      9922720e0cf3d7ca58d80563fd1fbe096b63a9fc.jpg
    4. 4

      從輸出前后日記看,挪用resize之后,capacity和size的巨細確實都增添

      4d086e061d950a7b015a74d105d162d9f2d3c9b3.jpg
    5. 5

      reserve只是預留空間,不成以用at或者[]拜候元素,不然會呈現段錯誤

      0eb30f2442a7d93303ffde66a24bd11373f0014b.jpg
    6. 6

      程序運行之后,節制臺提醒了如下所示的錯誤,然后程序異常退出

      a686c9177f3e670956b17fea34c79f3df8dc5575.jpg
    7. 7

      挪用reserve申請的內存,只能采用push_back添加元素到預留空間

      c8177f3e6709c93dd00b34e2903df8dcd100542d.jpg
    8. 8

      resize改變容器巨細,而且建立對象,并且可以或許利用at或者[]拜候元素

      359b033b5bb5c9ea2dc926f6da39b6003af3b3e8.jpg
    9. 9

      resize改變容器巨細,當采用push_back添加元素的時辰,是增添到新的空間

      a6efce1b9d16fdfadf63e3fbbb8f8c5494ee7b93.jpg
    10. 10

      從輸出的信息看,size在本來的根本上增添了一個元素,capacity在本來的根本上增添了一倍

      730e0cf3d7ca7bcb291be23ab1096b63f624a846.jpg
    • 發表于 2019-09-17 23:12
    • 閱讀 ( 760 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆