8

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

  • 由于 erase() 只接受 global iterators,是否有等效的功能local_iterator
  • 是否有可能获得等效的全局iteratora local_iterator

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

4

1 回答 1

5

显而易见的答案是否定的,因为接口中没有支持此功能的功能。也没有办法iterator从 a 到达 a local_iterator,原因很明显 alocal_iterator包含的信息要少得多。(对于大多数实现,我怀疑如果erase( local_iterator )标准要求它实现起来相当简单。另一方面,我想不出它有什么用途,这可能是标准不需要它的原因.)

于 2013-08-29T08:15:36.047 回答