【发布时间】:2018-09-19 01:11:19
【问题描述】:
在范围 [
first,last) 中搜索两个连续的相同元素。返回值
第一对相同元素中的第一个的迭代器,即第一个迭代器
it,使得*it == *(it+1)用于第一个版本或p(*it, *(it + 1)) != false用于第二个版本。如果没有找到这样的元素,则返回last
但是,尚不清楚它应该如何处理范围 {last, last}。
cppreference 上的两种可能实现都有以下检查:
if (first == last) {
return last;
}
是std::adjacent_find(last, last) UB 还是标准定义的?
【问题讨论】:
标签: c++ algorithm language-lawyer