【发布时间】:2011-05-24 16:16:03
【问题描述】:
multimap 提供lower_bound 和upper_bound 方法。两者都可以将迭代器返回到键大于期望值的值,lower_bound 可能产生完全期望的值。
现在我想要一个值的迭代器,其中键严格 less 请求。如果它是map 而不是multimap,那么实现起来相对简单,如下所述:
Returning the greatest key strictly less than the given key in a C++ Map。
但在multimap 中,不保证递减迭代器使其指向严格更小的键。所以我需要反复递减,直到找到一个更小的键。不是特别好。
有没有更优雅的方式来做到这一点?
键通常是浮点数。
我很抱歉,事实证明您 可以 实际上只需一次减量即可。我只是把它错误地放在我的程序中,那是真正的错误。
【问题讨论】:
标签: c++ stl multimap lower-bound