forward_list迭代器是否稳定?

时间:2013-07-14 19:18:47

标签: c++ stl iterator forward-list

我需要实现一个请求列表,一次发送一个请求(限制)并等待答案(总是按顺序)。因此,操作是:

  • 插入(结尾)
  • 删除(开始时)
  • 前进(“发送”指针)

我刚刚发现了std::forward_list,并且正在考虑使用它。但为了实现这一点,我需要跟踪发送指针的一个迭代器和一个插入的迭代器,当插入和删除对象时它们不会中断。

直观地说我会说链接列表迭代器对于插入和删除是稳定的,但有人可以确认这一点。另外,如果我清空列表,我需要做一个特殊情况,插入迭代器应该重置为before_begin吗?

1 个答案:

答案 0 :(得分:2)

标准的相关引用见23.3.4.5 [forwardlist.modifiers]第1段(第一句):

  

insert_after的任何重载都不会影响迭代器和引用的有效性,erase_after只会使迭代器和对擦除元素的引用无效。