温馨提示×

c++ resize与shrink_to_fit区别

c++
小樊
121
2024-06-24 16:55:26
栏目: 编程语言
C++开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

  1. resize(): 该函数用于改变容器的大小,在改变容器大小的过程中,会根据需要进行元素的插入或删除操作。如果新的大小比当前大小大,会在容器末尾插入默认构造的元素;如果新的大小比当前大小小,会删除末尾的元素。

  2. shrink_to_fit(): 该函数用于请求容器尝试减少其内存占用,即去除容器中多余的内存空间。调用该函数后,容器可能会释放一部分内存,但不保证一定会减少内存占用。只有当容器中的元素数量大于当前内存分配大小时,shrink_to_fit()函数才会起作用。

总结:

  • resize()函数改变容器的大小,会影响容器中的元素数量,而shrink_to_fit()函数只是请求容器减少内存占用,不会改变容器中的元素数量。
  • resize()函数可以增加或减少容器的大小,而shrink_to_fit()函数只会尝试减少容器的内存占用,不会改变容器的大小。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:C++ string resize与shrink_to_fit比较

0