upper_bound返回值有二义性吧
比如说一个list,里面的所有元素如下:
1, 2, 3, 4, 5, 5
那么
std::list<int>::iterator itList = upper_bound(li.begin(), li.end(), 5);
那么虽然5是存在的,但是itList仍然返回li.end()
而如果是查找6
upper_bound(li.begin(), li.end(), 6)
也是返回li.end()
这样如何使用upper_bound,那么不能仅靠返回值来判断某个元素是否在一个容器中存在.