我有這樣簡單的代碼:std :: set,lower_bound和upper_bound如何工作?
#include <iostream>
#include <set>
using std::set;
int main(int argc, char argv) {
set<int> myset;
set<int>::iterator it_l, it_u;
myset.insert(10);
it_l = myset.lower_bound(11);
it_u = myset.upper_bound(9);
std::cout << *it_l << " " << *it_u << std::endl;
}
這將打印1爲下界11和10作爲上界9.
我不理解爲什麼打印1。我希望使用這兩種方法來獲得給定上限/下限的一系列值。
請與'myset.end()'之前嘗試取消引用迭代器。 – Jarod42