C++中min_element能否用于自定义类型

avatar
作者
猴君
阅读量:0

是的,min_element函数可以用于自定义类型,但需要提供一个自定义的比较函数或者重载<运算符来指定如何比较这些自定义类型的对象。比如可以使用lambda表达式或者自定义的比较函数作为min_element的第三个参数。示例代码如下:

#include <iostream> #include <algorithm> #include <vector>  struct MyType {     int value; };  // 自定义比较函数 bool compareMyType(const MyType& a, const MyType& b) {     return a.value < b.value; }  int main() {     std::vector<MyType> vec = {{3}, {1}, {4}, {2}};          auto minIt = std::min_element(vec.begin(), vec.end(), [](const MyType& a, const MyType& b) {         return a.value < b.value;     });      std::cout << "Min element: " << minIt->value << std::endl;      return 0; } 

上面的代码中,使用lambda表达式和自定义比较函数来比较MyType结构体对象,找出其中value值最小的对象。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!