public member function
<deque>

std::deque::shrink_to_fit

void shrink_to_fit();
收缩到合适大小
请求容器减少其内存使用量以适应其大小

一个deque容器可能分配了比其当前元素所需的更多内存:这是因为大多数库将deque实现为动态数组,该数组可以保留已删除元素的分配空间或预先分配额外的容量以允许更快的插入操作。

此函数请求将内存使用量调整为容器的当前大小,但此请求具有非约束性,容器实现可以自由地以其他方式优化其内存使用。

请注意,此函数不会更改容器的大小(为此,请参阅resize)。

参数



返回值



示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// deque::shrink_to_fit
#include <iostream>
#include <deque>

int main ()
{
  std::deque<int> mydeque (100);
  std::cout << "1. size of mydeque: " << mydeque.size() << '\n';

  mydeque.resize(10);
  std::cout << "2. size of mydeque: " << mydeque.size() << '\n';

  mydeque.shrink_to_fit();

  return 0;
}

输出
1. size of mydeque: 100
2. size of mydeque: 10


复杂度

最多线性于容器大小

迭代器有效性

没有变化。

数据竞争

容器已修改。
不访问任何包含的元素:并发访问或修改它们是安全的。

异常安全

基本保证:如果抛出异常,容器处于有效状态。

另见