C++ 如何逐对搜索向量。首先,返回整个向量对?

C++ 如何逐对搜索向量。首先,返回整个向量对?,c++,vector,C++,Vector,我有一个成对的向量,还有一个数字,可能等于向量中的pair.first。我想用这个数字搜索向量,然后如果它在向量中,返回整对。以下是代码: vector<pair<size_t, size_t>> = (psuedocode) {{0, 13}, {1, 12}, {3, 11}}; vector=(伪代码){{0,13},{1,12},{3,11}; 现在,我有一个叫做vertex的值,它可能等于也可能不等于向量中的第一对。我只有这些信息,对于我的目的来说,这些信息

我有一个成对的向量,还有一个数字,可能等于向量中的pair.first。我想用这个数字搜索向量,然后如果它在向量中,返回整对。以下是代码:

vector<pair<size_t, size_t>> = (psuedocode) {{0, 13}, {1, 12}, {3, 11}};
vector=(伪代码){{0,13},{1,12},{3,11};
现在,我有一个叫做vertex的值,它可能等于也可能不等于向量中的第一对。我只有这些信息,对于我的目的来说,这些信息足以搜索向量。如果它等于一对。首先,我想返回整对。所以基本上我是在一对一对的向量中搜索。首先,不是按对。我如何做到这一点

现在,我正在使用查找方法:

vector<pair<size_t, size_t>>::iterator it = find(v.begin(), v.end(), vertex);
vector::iterator it=find(v.begin(),v.end(),vertex);
显然,这不起作用,因为顶点的类型为“size_t”,并且不是一对。

std::find_if()
更适合这种情况下的作业

#包括
#包括
#包括
#包括
int main(){
向量v{{1,2},{2,3},{3,4};
int顶点=2;
auto it=std::查找\u if(
v、 开始(),v.结束(),
[&vertex](std::pair i){return i.first==vertex;});

std::cout first
std::find(v.begin(),v.end(),[vertex](auto const&p){return p.first==vertex;})
参数?我不确定我是否理解。答案也使用lambda,并显示如何捕获用户参数。答案在第一个代码段中使用lambda,但在第二个代码段中使用常规函数。bool isEqual()如何获取用户参数,因为从我看到的情况来看,只有参数“element”被传入。
2, 3