Jak zwolnić pamięć ze std :: deque?

Używamstd::deque do przechowywania dość dużej liczby obiektów. Jeśli usunę pęczek tych obiektów, wydaje mi się, że ich użycie pamięci nie zmniejsza się, podobnie jak std :: vector.

Czy istnieje sposób na jego zmniejszenie? Wiem, że w wektorze musisz użyć „sztuczki wymiany”, która, jak przypuszczam, działałaby również tutaj, ale wolałbym tego uniknąć, ponieważ wymagałoby to skopiowania wszystkich elementów pozostałych w kontenerze (a więc wymaga posiadania wystarczająco dużo pamięci, aby dwukrotnie przechowywać każdy obiekt). Nie jestem zbyt dobrze zaznajomiony z implementacją deque, ale rozumiem to tak, że możliwe jest osiągnięcie czegoś takiego bez wielu kopii (podczas gdy z wektorem wyraźnie nie jest).

Używam STL VC ++ (Dinkumware), jeśli to robi różnicę.

questionAnswers(4)

yourAnswerToTheQuestion