Como liberar memória de std :: deque?

Estou usando umstd::deque para armazenar um número razoavelmente grande de objetos. Se eu remover um monte desses objetos, parece-me que seu uso de memória não diminui, de uma maneira similar a std :: vector.

Existe uma maneira de reduzi-lo? Eu sei que em um vetor você tem que usar o 'truque de swap', que eu suponho que funcionaria aqui também, mas eu prefiro evitar isso já que seria necessário copiar todos os elementos restantes no container (e assim requer que você tenha memória suficiente para armazenar cada objeto duas vezes). Eu não estou intimamente familiarizado com a implementação do deque, mas minha compreensão é que pode ser possível conseguir uma coisa dessas sem muitas cópias (ao passo que com um vetor claramente não é).

Estou usando o STL do VC ++ (Dinkumware), se isso faz alguma diferença.

questionAnswers(4)

yourAnswerToTheQuestion