温馨提示×

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

c++
小樊
105
2024-07-30 10:34:07
栏目: 编程语言
C++开发者专用服务器限时活动,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值最小的对象。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:C++中min_element如何使用

0