代码之家  ›  专栏  ›  技术社区  ›  Andrei Krotkov

按值删除地图元素

  •  6
  • Andrei Krotkov  · 技术社区  · 17 年前

    我会保持简短。

    我能想到的唯一方法就是在地图上搜索物体。这个问题有有效的STL解决方案吗?是否也存在一个按关键字高效搜索的地图?

    3 回复  |  直到 17 年前
        1
  •  8
  •   JaredPar    17 年前

    然而,在大多数情况下,值的键可以从值本身计算出来。例如,使用Person对象的Name属性作为键。管理器是否可以存储键/值对列表,而不是值本身。这将解决您的问题,而无需重写新的算法。

    或者,你也可以在manager类上保留一个反向映射。从本质上讲,关键在于价值。这样,您就可以使用它来计算稍后要删除的密钥。

        2
  •  4
  •   Crashworks    17 年前

    SGI's documentation for the STL ,

    在地图中插入新元素 不会使以下迭代器无效 指向现有元素。擦除A 地图中的元素也不会 使任何迭代器无效,以下情况除外 指向正在使用的元素

        3
  •  1
  •   Nikolai Fetissov    17 年前