我正在使用 astd::deque
来存储相当多的对象。如果我删除一堆这些对象,在我看来,它的内存使用量并没有减少,其方式与 std::vector 类似。
有没有办法减少它?我知道在向量中你必须使用“交换技巧”,我认为它也可以在这里工作,但我宁愿避免这样做,因为它需要复制容器中剩下的所有元素(因此要求你有足够的内存来存储每个对象两次)。我对双端队列的实现并不十分熟悉,但我对它的理解是,在没有大量副本的情况下可能实现这样的事情(而使用向量显然不是)。
我正在使用 VC++ (Dinkumware) STL,如果这有什么不同的话。