c++

C++ string resize与shrink_to_fit比较

小樊
82
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
看了该问题的人还看了