温馨提示×

C++ string resize与shrink_to_fit比较

c++
小樊
105
2024-07-17 15:52:49
栏目: 编程语言
C++开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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函数用于释放多余的空间。在实际使用中,根据需求选择合适的函数来操作字符串的长度。

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

推荐阅读:c++ resize与shrink_to_fit区别

0