溫馨提示×

C++ string resize與shrink_to_fit比較

c++
小樊
145
2024-07-17 15:52:49
欄目: 編程語言

resizeshrink_to_fit是C++中用來調整字符串長度的兩個函數,它們之間有一些區別。

  1. resize函數可以用來增加或減少字符串的長度。如果增加長度,新的位置將用默認初始化的字符填充;如果減少長度,超出部分將被截斷。
std::string str = "hello";
str.resize(8); // str變為"hello\0\0\0"
str.resize(3); // str變為"hel"
  1. shrink_to_fit函數可以用來釋放字符串多余的空間,使得字符串的capacity等于size。這樣可以減小內存占用,但可能會導致頻繁的內存重新分配。
std::string str = "hello";
str.reserve(100); // 分配了100個字符的空間
str.shrink_to_fit(); // 縮小空間到"hello"的長度

綜上所述,resize函數用于改變字符串的長度,而shrink_to_fit函數用于釋放多余的空間。在實際使用中,根據需求選擇合適的函數來操作字符串的長度。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女