C++ 使用std::find_if将iterarator传递给一元谓词

C++ 使用std::find_if将iterarator传递给一元谓词,c++,vector,unary-function,C++,Vector,Unary Function,我试图找到向量元素v的索引I,它满足:v[I]和std::nexture\u find,您可以简单地执行以下操作: const auto x = 13.0; auto it = std::adjacent_find(v.begin(), v.end(), [x](double lhs, double rhs){ return lhs <= x && x < rhs; }); const auto x=13.0

我试图找到向量元素
v
的索引
I
,它满足:
v[I]和
std::nexture\u find
,您可以简单地执行以下操作:

const auto x = 13.0;
auto it = std::adjacent_find(v.begin(), v.end(),
                             [x](double lhs, double rhs){ return lhs <= x && x < rhs; });
const auto x=13.0;
auto it=std::相邻查找(v.begin(),v.end(),

[x] (双左,双右){return lhs使用
std::innect_find
,您只需执行以下操作:

const auto x = 13.0;
auto it = std::adjacent_find(v.begin(), v.end(),
                             [x](double lhs, double rhs){ return lhs <= x && x < rhs; });
const auto x=13.0;
auto it=std::相邻查找(v.begin(),v.end(),

[x] (双lhs,双rhs){return lhs Use.And,@1201programalam,
std::nexting_find
不仅用于查找“连续相同的元素”,还用于满足二进制谓词条件的连续元素,这些条件当然可能是“元素相同”,但也可能是相同的“这两个元素满足由任意二进制谓词定义的某些条件“,其中提出的问题完全满足。@1201programalm:这假设范围已排序。在您的代码段中,向量已排序。是否总是这样,或者您对更一般的解决方案感兴趣?使用@1201programalm,
std::nexture\u find
不仅仅用于查找“连续相同的元素”,但也适用于满足二元谓词条件的连续元素,这当然可能是“元素相同”,但也可能是“两个元素满足由任意二元谓词定义的某些条件”,其中提出的问题完全满足。@1201程序:假设范围已排序。在您的代码段中,向量已排序。是否总是这样,或者您对更一般的解决方案感兴趣?