就像问题说的那样,您可以使用存储桶迭代器(std::unordered_set)从local_iterator中删除元素吗?我可以看到两种可能的解决方案:

  • 由于delete()仅接受全局iterator,因此local_iterator是否具有等效功能?
  • 是否可以获取iterator的等效全局local_iterator

  • 如果不可行,请详细说明为什么不可行。

    最佳答案

    显而易见的答案是“否”,因为
    支持此的接口(interface)。也没有办法去
    出于明显的原因,是iterator中的local_iteratorlocal_iterator包含的信息要少得多。 (为了
    大多数实现,我怀疑这将是相当简单的
    实现erase( local_iterator ),具有标准
    需要它。另一方面,我想不到
    使用它,这可能就是为什么标准不需要它的原因。)

    09-10 00:20
    查看更多