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
  • 阅读 ( 695 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
联系我们:uytrv@hotmail.com 问答工具