multimap
提供方法lower_bound
和upper_bound
。两者都可以将迭代器返回到键大于期望值的值,并lower_bound
可能产生完全期望的值。
现在我想要一个迭代器来指向一个键严格小于请求的值。如果它是 amap
而不是multimap
,这将相对简单地实现,如下所述:
在 C++ Map 中返回严格小于给定键的最大键。但是在 a 中multimap
,递减迭代器并不能保证它指向一个严格更小的键。所以我需要反复递减,直到找到一个更小的键。不是特别好。
有没有更优雅的方式来做到这一点?
键通常是浮点数。
我很抱歉,事实证明你实际上可以通过一次减量来做到这一点。我只是把它错误地放在我的程序中,那是真正的错误。