FreeBSD Manual Pages
std::vector::shrink_to_fit(3) C++ Standard Libarystd::vector::shrink_to_fit(3) NAME std::vector::shrink_to_fit - std::vector::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 whether the request is fulfilled. If reallocation occurs, all iterators, including the past the end iterator, and all references to the elements are invalidated. If no reallocation takes place, no iterators or references are invalidated. Parameters (none) Type requirements - T must meet the requirements of MoveInsertable. Return value (none) Complexity At most linear in the size of the container. Notes If an exception is thrown other than by T's move constructor, there are no effects. Example // Run this code #include <iostream> #include <vector> int main() { std::vector<int> v; std::cout << "Default-constructed capacity is " << v.capacity() << '\n'; v.resize(100); std::cout << "Capacity of a 100-element vector is " << v.capac- ity() << '\n'; v.resize(50); std::cout << "Capacity after resize(50) is " << v.capacity() << '\n'; v.shrink_to_fit(); std::cout << "Capacity after shrink_to_fit() is " << v.capacity() << '\n'; v.clear(); std::cout << "Capacity after clear() is " << v.capacity() << '\n'; v.shrink_to_fit(); std::cout << "Capacity after shrink_to_fit() is " << v.capacity() << '\n'; for (int i = 1000; i < 1300; ++i) v.push_back(i); std::cout << "Capacity after adding 300 elements is " << v.capac- ity() << '\n'; v.shrink_to_fit(); std::cout << "Capacity after shrink_to_fit() is " << v.capacity() << '\n'; } Possible output: Default-constructed capacity is 0 Capacity of a 100-element vector is 100 Capacity after resize(50) is 100 Capacity after shrink_to_fit() is 50 Capacity after clear() is 50 Capacity after shrink_to_fit() is 0 Capacity after adding 300 elements is 512 Capacity after shrink_to_fit() is 300 See also size returns the number of elements (public member function) returns the number of elements that can be held in cur- rently allocated capacity storage (public member function) http://cppreference.com 2022.07.31 std::vector::shrink_to_fit(3)
NAME | Synopsis | Parameters | Type requirements | Return value | Complexity | Notes | Example | Possible output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::vector::shrink_to_fit&sektion=3&manpath=FreeBSD+Ports+15.0>
