c++ - 在具有多个要求的 vector 中查找对象

标签 c++ vector find

我创建了一个对象 vector ,对象有多个私有(private)变量:

   Int x, y, id

现在我想遍历这个 vector ,找到我的 x 和 y 值之前的对象。 x 和 y 较大的最小值。

我见过 vector “查找”命令。这可以在它的最终字段中接受多个参数吗......像

(Vector.begin, vector.end, (x > object.x && y > object.y)

我一直在弄乱它并在谷歌上搜索以找到解决方案,但我没有看到任何在 find 命令的最后一个字段中涉及多个参数的示例?

最佳答案

您可以使用 std::find_if用 lambda

Object foo;                // object you want to compare against
std::vector<Object> objs;  // objects you want to look through
auto itFound = std::find_if(begin(objs),
                            end(objs),
                            [&foo](Object const& obj)
                            {
                                return obj.x > foo.x && obj.y > foo.y;
                            });

关于c++ - 在具有多个要求的 vector 中查找对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38228293/

相关文章:

c++ - 为什么会崩溃?我如何解决它?

c++ - 初始化 vector (C++)

c++ - C++98 中基于范围的 for 循环和 vector

linux - 我怎样才能让 GNU 'find' 在目录树中找到文件名的*第一个*实例?

linux - 在 Linux 中查找与搜索相结合以返回特定行

c++ - 如何在 C++ 中实现通用 DOM 数据结构?

c++ - 在 std::string::find 上使用 boost::bind 编译失败

c++ - 如何在 QT 中解析关联的 JSON 数组?

R 逐个元素求和,得到向量

c# - 如何搜索类类型的列表属性