我通過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