溫馨提示×

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

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

是的,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值最小的對象。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女