std::deque::shrink_to_fit

From cppreference.com
< cpp‎ | container‎ | deque

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 if the request is fulfilled.

All iterators and references are potentially invalidated. Past-the-end iterator is also potentially invalidated.

Contents

[edit] Parameters

(none)

Type requirements
-
T must meet the requirements of MoveInsertable.

[edit] Return value

(none)

[edit] Complexity

At most linear in the size of the container.

[edit] Example

#include <deque>
 
int main() {
    std::deque<int> nums(1000, 42);
    nums.push_front(1);
    nums.pop_front();
 
    nums.clear();
 
    // nums now contains no items, but it may still be holding allocated memory. 
    // Calling shrink_to_fit will free any unused memory.
    nums.shrink_to_fit();
}


[edit] See also

returns the number of elements
(public member function)