温馨提示×

C++ string resize与reserve区别

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

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

示例:

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

示例:

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

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

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

推荐阅读:c++中vector resize和reserve有什么区别

0