温馨提示×

C++ string resize与reserve区别

c++
小樊
90
2024-07-17 15:41:44
栏目: 编程语言

  1. resize()函数用于改变字符串的大小,可以增加或者减少字符串的长度。当增加长度时,新添加的字符会用指定的字符填充;当减少长度时,超出部分的字符会被截断。

示例:

std::string str = "hello";
str.resize(8, '!');
// str = "hello!!!"
  1. reserve()函数用于预留字符串的存储空间,但不会改变字符串的长度。这样做可以减少因为频繁增加字符而导致的重新分配内存的开销,提高性能。

示例:

std::string str;
str.reserve(10);
// str的存储空间被预留为10个字符,但实际长度仍为0

总结: 使用resize()函数会改变字符串的长度,而使用reserve()函数只是预留了存储空间,并不改变字符串的长度。

0