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

Tom*_*uwé 7 c++ unordered-set c++11

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

  • 由于erase()只接受全局iterators,是否有相同的功能local_iterator
  • 是否有可能获得相当于全球iteratorlocal_iterator

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

Jam*_*nze 5

显而易见的答案是否定的,因为界面中没有支持此功能的功能.由于显而易见的原因,a 包含的信息很少,因此也无法iterator从a 获取.(对于大多数实现,我怀疑它实现起来相当简单,如果标准需要它.另一方面,我想不出它的可能用途,这可能是标准不需要它的原因.)local_iteratorlocal_iteratorerase( local_iterator )