使用 STL 在列表 <MyStruct> 中查找成员的最小值
Find minimum value of member in list<MyStruct> using STL
我有 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; });
我有 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; });