我对双端队列中的迭代器无效感到困惑。
(在this问题中)

以下摘录自《 The C++ Standard Library:A Tutorial and Reference》,
尼古拉·约瑟斯(Nicolai M.



以下是SGI网站的摘录:



恕我直言,双端队列是块的集合,第一个块在一个方向上生长,最后一个块在相反方向上生长。

  -   -  -
  -   -  -
  |   -  -  ^
  |   -  -  |
  V   -  -  |
      -  -  -
      -  -  -
push_back, push_front应该不会对双端队列迭代器产生任何影响(我同意Josuttis)。

正确的解释是什么?标准对此怎么说?

最佳答案

standard working draft



因此,两者都是正确的。正如Josuttis所指出的,在正面或背面插入不会使对双端队列的元素的引用无效,而仅是对双端队列本身的迭代器。

编辑:more up-to-date draft说的基本上是同一件事(第23.2.2.3节)

关于c++ - 对双端队列中迭代器无效的混淆,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/913980/

10-14 07:50