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