GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::vector::shrink_to_fit(3) C++ Standard Libary std::vector::shrink_to_fit(3)

std::vector::shrink_to_fit - std::vector::shrink_to_fit


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 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.


(none)


-
T must meet the requirements of MoveInsertable.


(none)


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


#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.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.capacity() << '\n';
v.shrink_to_fit();
std::cout << "Capacity after shrink_to_fit() is " << v.capacity() << '\n';
}


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


size returns the number of elements
(public member function)
returns the number of elements that can be held in currently allocated
capacity storage
(public member function)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.