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