c++ absl::平面散列Map:实现“remove_if”的有效方法

aiazj4mn  于 2023-02-26  发布在  其他
关注(0)|答案(1)|浏览(134)

有没有一种有效的方法可以为absl::flat_hash_map实现remove_if
据我所知,absl::flat_hash_map并不返回下一个元素的迭代器,这通常用于remove_if的实现。
Abseil是否为此类作业提供了替代实施方案?
我想要的是在Map上迭代并选择性地删除项目,我试图避免使用一个单独的容器来跟踪要删除的项目。

e4eetjau

e4eetjau1#

remove_if对元素重新排序,因此不适用于关联容器(它与Abseil的实现无关),只需使用std::erase_if(或absl::erase_if)。

相关问题