std::vector<T,Allocator>::shrink_to_fit (3) - Linux Manuals
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.
T must meet the requirements of MoveInsertable.
At most linear in the size of the container.
If an exception is thrown other than by T's move constructor, there are no effects.
// Run this code
size (public member function)
capacity (public member function)