deque shrink_to_fit в C ++ STL

Опубликовано: 30 Декабря, 2021

Deque :: shrink_to_fit () - это встроенная функция в C ++ STL, которая уменьшает емкость контейнера до его размера и уничтожает все элементы, превышающие емкость. Эта функция не уменьшает размер контейнера. Он используется, когда контейнеру было выделено больше памяти, чем необходимо, тогда эта функция освобождает тот объем памяти, который был выделен дополнительно.

Синтаксис:

deque_name.shrink_to_fit ()

Параметры: эта функция не принимает никаких параметров.
Возвращаемое значение: функция ничего не возвращает.

Нижеприведенные программы иллюстрируют вышеуказанную функцию:
Пример-1

// C++ program to illustrate
// the deque::shrink_to_fit()
#include <bits/stdc++.h>
using namespace std;
int main()
{
// Initialized deque
deque< int > d(10);
for ( int i = 0; i < 5; i++)
d[i] = i;
// Initial deque
cout << " Deque size initially: " << d.size();
cout << " Deque elements are: " ;
for ( int i = 0; i < 10; i++)
cout << d[i] << " " ;
// changes the size of the Deque
// but does not destroys the elements
d.resize(7);
cout << " Deque size after resize(7): "
<< d.size();
cout << " Deque elements after resize(7) are: " ;
for ( int i = 0; i < 10; i++)
cout << d[i] << " " ;
// Shrinks to the size
// till which elements are
// destroys the elements after 5
d.shrink_to_fit();
cout << " Deque size after shrink_to_fit(): "
<< d.size();
cout << " Deque elements after shrink_to_fit() are: " ;
for ( int i = 0; i < 10; i++)
cout << d[i] << " " ;
return 0;
}
Выход:

Deque size initially: 10
Deque  elements are: 0 1 2 3 4 0 0 0 0 0 
Deque size after resize(7): 7
Deque elements after resize(7) are: 0 1 2 3 4 0 0 0 0 0 
Deque size after shrink_to_fit(): 7
Deque elements after shrink_to_fit() are: 0 1 2 3 4 0 0 0 0 0