可能重复:
为什么我更喜欢使用向量到双端队列
我很好奇为什么它std::vector
比std::deque
. 双端队列在查找方面几乎同样有效,在插入方面效率更高(没有 vector::reserve)并允许在前面插入/删除。
Herb Sutter 曾经建议,如果你想使用向量,就更喜欢 deque(我在解释)。然而,在最近一次关于编写现代 C++的演讲中,他再次强烈建议将std::vector
其视为默认容器。根据我之前链接的GOTW,即使是标准也有类似的措辞。
这种差异有原因吗?仅仅是这样vector
更简单、更广为人知,还是有技术原因?或者这vector
只是一个更酷的名字..?