Namespaces
Variants
Views
Actions

std::{{{1}}}::shrink_to_fit

From cppreference.com
Revision as of 03:54, 14 August 2023 by Xmcgcg (Talk | contribs)

void shrink_to_fit();

Requests the removal of unused capacity.

It is a non-binding request to reduce the memory usage without changing the size of the sequence. It depends on the implementation whether the request is fulfilled.

Contents

Parameters

(none)

Type requirements
-
T must meet the requirements of MoveInsertable into *this. (since C++11)

Return value

(none)

Complexity

At most linear in the size of the container.

Exceptions

If an exception is thrown other than by the move constructor of a non-CopyInsertable T, there are no effects.

(since C++11)

Notes

In libstdc++, shrink_to_fit() is not available in C++98 mode.

Example

Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 850 C++98 std:: lacked explicit shrink-to-fit operations provided
LWG 2033 C++11 1. T was not required to be MoveInsertable
2. the complexity requirement was missing
1. required
2. added

See also

returns the number of elements
(public member function of std::{{{1}}}) [edit]