std::basic_string<CharT,Traits,Allocator>::shrink_to_fit
void shrink_to_fit(); | (since C++11) |
Requests the removal of unused capacity.
It is a non-binding request to reduce capacity()
to size()
. It depends on the implementation if the request is fulfilled.
If (and only if) reallocation takes place, all pointers, references, and iterators are invalidated.
Parameters
(none).
Return value
(none).
Complexity
(unspecified) | (until C++17) |
Linear in the size of the string | (since C++17) |
Example
#include <iostream> #include <string> int main() { std::string s; std::cout << "Default-constructed capacity is " << s.capacity() << '\n'; s.resize(100); std::cout << "Capacity of a 100-element string is " << s.capacity() << '\n'; s.clear(); std::cout << "Capacity after clear() is " << s.capacity() << '\n'; s.shrink_to_fit(); std::cout << "Capacity after shrink_to_fit() is " << s.capacity() << '\n'; }
Possible output:
Default-constructed capacity is 0 Capacity of a 100-element string is 100 Capacity after clear() is 100 Capacity after shrink_to_fit() is 0
See also
returns the number of characters (public member function) |
|
returns the number of characters that can be held in currently allocated storage (public member function) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/string/basic_string/shrink_to_fit