具有停用元素的 C++ 容器

C++ container with deactivating elements

我需要遍历元素的容器,在某些情况下(当事件发生时)我需要停用某个元素,以便遍历容器时不会考虑此类元素。然而,一段时间后该元素被激活,它应该出现在迭代中。

我的选择是使用 std::list,但是插入和删除元素可能会耗费很多时间。有更好的选择吗?

您可以根据列表或任何最适合您需要的容器创建自己的可迭代对象class。

这个新容器应该有方法来标记一个项目 valid/invalid,以及一个遍历底层容器的所有元素但跳过被标记为无效的元素的迭代器。

如果速度是个问题,您可以在新 class 中添加您喜欢的任何优化,以最大程度地减少对底层容器的迭代(例如,存储有效元素的范围)。