std::deque<T,Allocator>::shrink_to_fit

< cpp‎ | container‎ | deque

void shrink_to_fit();
(C++11 起)

请求移除未使用的容量。

它是减少使用内存而不更改序列的大小非强制性请求。请求是否达成依赖于实现。

所有迭代器和引用都被非法化。尾后迭代器亦被非法化。

参数

(无)

类型要求
-
T 必须满足可移动插入 (MoveInsertable) 的要求。

返回值

(无)

复杂度

至多与容器大小成线性。

注解

T 的移动构造函数以外的操作抛出异常,则无效果。

示例

#include <deque>
 
int main() {
    std::deque<int> nums(1000, 42);
    nums.push_front(1);
    nums.pop_front();
 
    nums.clear();
 
    // nums 现在不含项目,但它仍保有分配的内存。
    // 调用 shrink_to_fit 可能会释放任何不使用的内存。
    nums.shrink_to_fit();
}


参阅

返回容纳的元素数
(公开成员函数)