代码之家  ›  专栏  ›  技术社区  ›  James

Boost多索引有序唯一中值

  •  0
  • James  · 技术社区  · 16 年前

    除了将iterator container.size()/2增加一倍之外,还有没有更快捷/简洁的方法来实现这一点?

    2 回复  |  直到 16 年前
        1
  •  0
  •   pmr    16 年前

    我在不同的背景下遇到了同样的问题。STL和Boost似乎没有提供一个具有随机访问权限的有序容器来使用排序(例如用于比较)。

    我(不是很漂亮)的解决方案是使用一个类来执行输入并在一个集合中“过滤”它。输入操作完成后,它只是将集合中的所有迭代器复制到一个向量中,并将其用于随机访问。

    这个解决方案只能在非常有限的上下文中工作:只需对容器执行一次输入。如果您再次更改add to the container,则必须再次复制所有迭代器。用起来真的很笨拙,但很管用。

        2
  •  1
  •   Vicente Botet Escriba    16 年前

    Boost.MultiIndex提供 random access indexes