现在的位置: 首页 > 综合 > 正文

C++ STL的Algrithm中的upper_bound返回值有二义性

2013年08月08日 ⁄ 综合 ⁄ 共 247字 ⁄ 字号 评论关闭

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,那么不能仅靠返回值来判断某个元素是否在一个容器中存在.

抱歉!评论已关闭.