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


複雜度

最多線性於容器大小

迭代器有效性

沒有變化。

資料競爭

容器已修改。
不訪問任何包含的元素:併發訪問或修改它們是安全的。

異常安全

基本保證:如果丟擲異常,容器處於有效狀態。

另見