std::lower_bound


default (1)

template <class ForwardIterator, class T>
ForwardIterator lower_bound (ForwardIterator first, ForwardIterator last,
const T& val);


custom (2)

template <class ForwardIterator, class T, class Compare>
ForwardIterator lower_bound (ForwardIterator first, ForwardIterator last,
const T& val, Compare comp);


 

返回在给定区间内第一个不比val小(大于等于val)的值

第一个函数版本用小于号比较而第2个函数版本用的是一个比较函数去比较。范围中的元素必须根据相同标准(<或comp)进行排序或者至少按照val进行区分。

该函数通过比较排序范围的非连续元素来优化执行的比较次数,这对随机访问迭代器特别有效。

不像upper_bound,iter 指向的值可能等于val而不是只是大于。