W3cubDocs

/C++

std::deque::shrink_to_fit

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.

Parameters

(none).

Type requirements
- T must meet the requirements of MoveInsertable.

Return value

(none).

Complexity

At most linear in the size of the container.

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();
}

See also

returns the number of elements
(public member function)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/container/deque/shrink_to_fit