相同之处: 1. 在中段部分安插、移除元素的速度较慢,因为所有元素都需要移动以腾出或填补空间。 2.迭代器属于radom access iterator(随即存取迭代). 不同之处 1.deques两端都能快速的安插和移除元素,而vector却只能在尾部进行操作。这些操作可在分期摊还的常数时间(anortized constant time)内完. 2.存取元素时,deque内部结构会多一个间接过程,所以元素的存取和迭代器的动作会稍慢一些。 3.deque迭代器需要在不同的区域间跳转,所以必须是特殊的职能型的指针,非一般指针。 4.对于内存区块有所限制的系统(如PC系统),deque可以含有更多的元素,因为它使用不止一块内存,因此deque的max_size()可能更大。 5.deque的内存区域在不被使用时会被释放。deque的内存大小是可以缩减的。但到底是不是这样做,依赖于实际的编译环境。