温馨提示×

c++ resize与shrink_to_fit区别

c++
小樊
117
2024-06-24 16:55:26
栏目: 编程语言

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

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

总结:

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

0