gpt4 book ai didi

c++ - 与 lambda 成对 vector 的 lower_bound

转载 作者:可可西里 更新时间:2023-11-01 17:07:55 30 4
gpt4 key购买 nike

我想根据 std::pairstd::vector 找到 std::lower_bound second 元素与 lambda。

std::vector < std::pair <int, double> > vec;
vec.resize(5);

auto it = std::lower_bound(vec.begin(), vec.end(), lambda);
// what is that lambda here?

最佳答案

你在这里缺少一个参数,std::lower_bound 接受一个开始和结束迭代器,一个值(这是你错过的),最后可以接受一个 lambda。

#include <algorithm>
#include <vector>

int main()
{
typedef std::pair<int, double> myPair; // typedef to shorten the type name
std::vector <myPair> vec(5);

myPair low_val; // reference value (set this up as you want)
auto it = std::lower_bound(vec.begin(), vec.end(), low_val,
[](myPair lhs, myPair rhs) -> bool { return lhs.second < rhs.second; });
}

lower_bound 的引用页是 here .

关于c++ - 与 lambda 成对 vector 的 lower_bound,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17711652/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com