C++中的string
类的resize()
方法可以缩小字符串的长度,但无法直接缩小字符串的容量。如果想要减少容量,可以使用shrink_to_fit()
方法。该方法会请求string
对象减少其容量以适应其当前大小。
std::string str = "Hello World";
std::cout << "Capacity before resizing: " << str.capacity() << std::endl;
str.resize(5);
std::cout << "Capacity after resizing: " << str.capacity() << std::endl;
str.shrink_to_fit();
std::cout << "Capacity after shrinking: " << str.capacity() << std::endl;
请注意,shrink_to_fit()
方法是C++11中引入的,因此只能在支持C++11标准的编译器中使用。