Как освободить память из std :: deque?

Я используюstd::deque хранить достаточно большое количество предметов. Если я удаляю кучу этих объектов, мне кажется, что использование памяти не уменьшается, подобно std :: vector.

Есть ли способ уменьшить его? Я знаю, что в векторе вы должны использовать «трюк подкачки», который, как я полагаю, будет работать и здесь, но я бы предпочел этого избегать, поскольку это потребовало бы копирования всех элементов, оставленных в контейнере (и, следовательно, требует, чтобы вы достаточно памяти для хранения каждого объекта дважды). Я не очень хорошо знаком с реализацией deque, но мое понимание этого состоит в том, что можно достичь такой цели без большого количества копий (тогда как с вектором это явно не так).

Я использую VC ++ (Dinkumware) STL, если это что-то меняет.

Ответы на вопрос(4)

Ваш ответ на вопрос