FreeBSD Manual Pages
std::basic_...rink_to_fit(3) C++ Standard Libary std::basic_...rink_to_fit(3) NAME std::basic_string::shrink_to_fit - std::basic_string::shrink_to_fit Synopsis void shrink_to_fit(); (since C++11) (until C++20) constexpr void shrink_to_fit(); (since C++20) Requests the removal of unused capacity. It is a non-binding request to reduce capacity() to size(). It de- pends 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 // Run this code #include <iostream> #include <string> int main() { std::string s; std::cout << "Size of std::string is " << sizeof s << " bytes\n" << "Default-constructed capacity is " << s.capacity() << " and size is " << s.size() << '\n'; for (int i=0; i<42; i++) s.append(" 42 "); std::cout << "Capacity after 42 appends is " << s.capacity() << " and size is " << s.size() << '\n'; s.clear(); std::cout << "Capacity after clear() is " << s.capacity() << " and size is " << s.size() << '\n'; s.shrink_to_fit(); std::cout << "Capacity after shrink_to_fit() is " << s.capacity() << " and size is " << s.size() << '\n'; } Possible output: GCC output: Size of std::string is 32 bytes Default-constructed capacity is 15 and size 0 Capacity after 42 appends is 240 and size 168 Capacity after clear() is 240 and size 0 Capacity after shrink_to_fit() is 15 and size 0 clang output (with -stdlib=libc++): Size of std::string is 24 bytes Default-constructed capacity is 22 and size is 0 Capacity after 42 appends is 191 and size is 168 Capacity after clear() is 191 and size is 0 Capacity after shrink_to_fit() is 22 and size is 0 See also size returns the number of characters length (public member function) returns the number of characters that can be held in cur- rently allocated capacity storage (public member function) resize changes the number of characters stored (public member function) http://cppreference.com 2022.07.31 std::basic_...rink_to_fit(3)
NAME | Synopsis | Parameters | Return value | Complexity | Example | Possible output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::u16string::shrink_to_fit&sektion=3&manpath=FreeBSD+Ports+15.0>
