是否可以通过桶迭代器从std :: unordered_set中删除元素?

时间:2013-08-29 07:34:54

标签: c++ c++11 unordered-set

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

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

如果不可行,请详细说明原因。

1 个答案:

答案 0 :(得分:5)

显而易见的答案是否定的,因为没有任何功能 支持这个的界面。也没有办法去 显而易见,来自iterator的{​​{1}}。local_iterator local_iterator包含的信息少得多。 (对于 大多数实现,我怀疑它会相当简单 实施erase( local_iterator ),有标准 需要它。另一方面,我想不出一个可以想象的 使用它,这可能是标准不要求它的原因。)