std::vector<T,Allocator>::shrink_to_fit (3) - Linux Manuals
std::vector<T,Allocator>::shrink_to_fit: std::vector<T,Allocator>::shrink_to_fit
Command to display std::vector<T,Allocator>::shrink_to_fit
manual in Linux: $ man 3 std::vector<T,Allocator>::shrink_to_fit
NAME
std::vector<T,Allocator>::shrink_to_fit - std::vector<T,Allocator>::shrink_to_fit
Synopsis
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 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.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';
}
Possible output:
Default-constructed capacity is 0
Capacity of a 100-element vector is 100
Capacity after clear() is 100
Capacity after shrink_to_fit() is 0
See also
returns the number of elements
size (public member function)
returns the number of elements that can be held in currently allocated storage
capacity (public member function)
Pages related to std::vector<T,Allocator>::shrink_to_fit
- std::vector<T,Allocator>::size (3) - std::vector<T,Allocator>::size
- std::vector<T,Allocator>::swap (3) - std::vector<T,Allocator>::swap
- std::vector<T,Allocator>::assign (3) - std::vector<T,Allocator>::assign
- std::vector<T,Allocator>::at (3) - std::vector<T,Allocator>::at
- std::vector<T,Allocator>::back (3) - std::vector<T,Allocator>::back
- std::vector<T,Allocator>::begin,std::vector<T,Allocator>::cbegin (3) - std::vector<T,Allocator>::begin,std::vector<T,Allocator>::cbegin
- std::vector<T,Allocator>::capacity (3) - std::vector<T,Allocator>::capacity
- std::vector<T,Allocator>::clear (3) - std::vector<T,Allocator>::clear
- std::vector<T,Allocator>::data (3) - std::vector<T,Allocator>::data
- std::vector<T,Allocator>::emplace (3) - std::vector<T,Allocator>::emplace
- std::vector<T,Allocator>::emplace_back (3) - std::vector<T,Allocator>::emplace_back
- std::vector<T,Allocator>::empty (3) - std::vector<T,Allocator>::empty
- std::vector<T,Allocator>::end,std::vector<T,Allocator>::cend (3) - std::vector<T,Allocator>::end,std::vector<T,Allocator>::cend
- std::vector<T,Allocator>::erase (3) - std::vector<T,Allocator>::erase
- std::vector<T,Allocator>::front (3) - std::vector<T,Allocator>::front
- std::vector<T,Allocator>::get_allocator (3) - std::vector<T,Allocator>::get_allocator
- std::vector<T,Allocator>::insert (3) - std::vector<T,Allocator>::insert
- std::vector<T,Allocator>::max_size (3) - std::vector<T,Allocator>::max_size
- std::vector<T,Allocator>::operator= (3) - std::vector<T,Allocator>::operator=
- std::vector<T,Allocator>::operator[] (3) - std::vector<T,Allocator>::operator[]
- std::vector<T,Allocator>::pop_back (3) - std::vector<T,Allocator>::pop_back
- std::vector<T,Allocator>::push_back (3) - std::vector<T,Allocator>::push_back
- std::vector<T,Allocator>::rbegin,std::vector<T,Allocator>::crbegin (3) - std::vector<T,Allocator>::rbegin,std::vector<T,Allocator>::crbegin
- std::vector<T,Allocator>::rend,std::vector<T,Allocator>::crend (3) - std::vector<T,Allocator>::rend,std::vector<T,Allocator>::crend
- std::vector<T,Allocator>::reserve (3) - std::vector<T,Allocator>::reserve
- std::vector<T,Allocator>::resize (3) - std::vector<T,Allocator>::resize
- std::vector<T,Allocator>::vector (3) - std::vector<T,Allocator>::vector
- std::vector<T,Allocator>::~vector (3) - std::vector<T,Allocator>::~vector
- std::vector<bool,Allocator>::flip (3) - std::vector<bool,Allocator>::flip