我通过upper_bound找到std::map<int, X>
中的某个点,然后从这个点开始向后迭代。我的代码看起来像这样:从upper_bound指定返回值到reverse_iterator
MAP::reverse_iterator iter;
iter = _map.upper_bound(value); // Does not compile because upper_bound is not reverse_iterator
while(iter != rbegin()){
// logic
--iter;
}
我得到一个编译错误,因为upper_bound()没有返回一个reverse_iterator。
补救此问题的最佳方法是什么?
将迭代器转换为反向迭代器? – NathanOliver
@NathanOliver谢谢没有意识到这是可能的。如果你把它作为答案,我会接受。 – user997112