使用 STL 查找列表中成员的最小值<MyStruct>

Find minimum value of member in list<MyStruct> using STL

本文关键字:lt MyStruct gt 最小值 查找 STL 列表 成员 使用      更新时间:2023-10-16

我有MyStruct对象列表。

struct Task {
    std::function<void()> _fn = nullptr;
    std::chrono::system_clock::time_point _execTime;
};

如何使用STL算法查找列表中_execTime的最小值?我可以通过迭代找到,但是有没有更优雅的方法可以做到这一点?如下所示:

std::chrono::system_clock::time_point nearestExecTime = std::min(auto t = tasks.begin(), auto p = tasks.end(), [t,p]() {return t.execTime < p.exeTime;});

使用 std::min_element

std::min_element(tasks.begin(), tasks.end(),
[](const Task& t, const Task& p) { return t._execTime < p._execTime; });