gpt4 book ai didi

c++ - 使用 find_if 查找结构内部的 int for std::list with structs

转载 作者:行者123 更新时间:2023-11-30 01:30:53 24 4
gpt4 key购买 nike

如果列表包含结构,我如何将 find_if 与 std::list 一起使用?我的第一个伪代码尝试如下所示:

typename std::list<Event>::iterator found = 
find_if(cal.begin(), cal.last(), predicate);

这里的问题是谓词在列表中不是直接可见的,而是在 event.object.return_number() 中。我应该如何引用嵌套在结构中并需要访问 get 方法的 int。

最佳答案

您可以使用仿函数类(它类似于函数,但允许您拥有状态,例如配置):

class Predicate
{
public:
Predicate(int x) : x(x) {}
bool operator() (const Cal &cal) const { return cal.getter() == x; }
private:
const int x;
};

std::find_if(cal.begin(), cal.end(), Predicate(x));

关于c++ - 使用 find_if 查找结构内部的 int for std::list with structs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3996474/

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