溫馨提示×

C++中min_element能否用于自定義類型

c++
小樊
92
2024-07-30 10:34:07
欄目: 編程語言

是的,min_element函數(shù)可以用于自定義類型,但需要提供一個自定義的比較函數(shù)或者重載<運(yùn)算符來指定如何比較這些自定義類型的對象。比如可以使用lambda表達(dá)式或者自定義的比較函數(shù)作為min_element的第三個參數(shù)。示例代碼如下:

#include <iostream>
#include <algorithm>
#include <vector>

struct MyType {
    int value;
};

// 自定義比較函數(shù)
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表達(dá)式和自定義比較函數(shù)來比較MyType結(jié)構(gòu)體對象,找出其中value值最小的對象。

0