我可以擦除 std::queue 中间的节点吗?

Kan*_*bot 8 c++ containers

如果我有一个std:queue可以擦除中间的元素吗?

或者我应该选择一个简单的向量?

编辑:

最后,我的搜索变成了std::list和之间std::deque这篇文章给出了一个很好的比较,虽然我仍然有点犹豫不决。

一方面,由于删除后我不会访问更多成员(操作完成),我不太关心迭代器失效。另一方面,我可能会一个一个访问(或搜索)元素,所以随机访问可能不是那么重要......

Bet*_*eta 5

  1. 不,除非您想取出所有元素并重新放入它们。

  2. Astd::list可能更好,但这取决于您还想用它做什么。