std::deque::shrink_to_fit

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 the memory usage without changing the size of the sequence. It depends on the implementation if the request is fulfilled.

All iterators and references are invalidated. Past-the-end iterator is also 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.

Notes

If an exception is thrown other than by T's move constructor, there are no effects.

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

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部