我需要实现一个请求列表,一次发送一个请求(受到限制)并等待答案(始终按顺序)。因此操作是:
- 插入(在末尾)
- 删除(在开始时)
- 向前一步(“发送”指针)
我刚刚发现了 std::forward_list
,并且正在考虑使用它。但要实现这一点,我需要跟踪一个用于发送指针的迭代器和一个用于插入的迭代器,并且当我插入和删除对象时它们不会中断。
直觉上我会说链表迭代器对于插入和删除来说是稳定的,但是有人可以证实这一点。另外,如果我清空列表,插入迭代器应重置为 before_begin
,我是否需要制作特殊情况?
最佳答案
标准的相关引用位于 23.3.4.5 [forwardlist.modifiers] 第 1 段(第一句):
None of the overloads of
insert_after
shall affect the validity of iterators and references, anderase_after
shall invalidate only iterators and references to the erased elements.
关于c++ - forward_list 迭代器稳定吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17642800/