快速获取到 std::list<SubOutput*> subOutputList 中某一个SubOutput* 成员最小
时间: 2024-03-28 09:42:07 浏览: 59
可以使用 `std::min_element` 算法函数来获取 `subOutputList` 中某一个 `SubOutput*` 成员最小的元素,具体实现方式如下:
```cpp
#include <algorithm> // 引入 std::min_element
#include <list>
struct SubOutput {
int value;
};
int main() {
std::list<SubOutput*> subOutputList;
// 添加元素到 subOutputList 中
// 使用 lambda 表达式作为比较函数
auto cmp = [](SubOutput* a, SubOutput* b) {
return a->value < b->value;
};
// 使用 std::min_element 获取 subOutputList 中最小的元素
SubOutput* minSubOutput = *std::min_element(subOutputList.begin(), subOutputList.end(), cmp);
return 0;
}
```
在这个示例中,我们使用 lambda 表达式来定义一个比较函数 `cmp`,该函数用于比较 `SubOutput*` 对象的 `value` 成员的大小。然后,我们使用 `std::min_element` 算法函数来获取 `subOutputList` 中最小的元素,返回值是一个指向最小元素的迭代器,使用 `*` 运算符可以获取该元素的值,即 `SubOutput*` 类型的指针。
阅读全文