溫馨提示×

c++ resize與shrink_to_fit區(qū)別

c++
小樊
91
2024-06-24 16:55:26
欄目: 編程語言

  1. resize(): 該函數(shù)用于改變?nèi)萜鞯拇笮。诟淖內(nèi)萜鞔笮〉倪^程中,會根據(jù)需要進行元素的插入或刪除操作。如果新的大小比當(dāng)前大小大,會在容器末尾插入默認(rèn)構(gòu)造的元素;如果新的大小比當(dāng)前大小小,會刪除末尾的元素。

  2. shrink_to_fit(): 該函數(shù)用于請求容器嘗試減少其內(nèi)存占用,即去除容器中多余的內(nèi)存空間。調(diào)用該函數(shù)后,容器可能會釋放一部分內(nèi)存,但不保證一定會減少內(nèi)存占用。只有當(dāng)容器中的元素數(shù)量大于當(dāng)前內(nèi)存分配大小時,shrink_to_fit()函數(shù)才會起作用。

總結(jié):

  • resize()函數(shù)改變?nèi)萜鞯拇笮。瑫绊懭萜髦械脑財?shù)量,而shrink_to_fit()函數(shù)只是請求容器減少內(nèi)存占用,不會改變?nèi)萜髦械脑財?shù)量。
  • resize()函數(shù)可以增加或減少容器的大小,而shrink_to_fit()函數(shù)只會嘗試減少容器的內(nèi)存占用,不會改變?nèi)萜鞯拇笮 ?/li>

0