C++中min_element能否用于自定义类型
导读:是的,min_element函数可以用于自定义类型,但需要提供一个自定义的比较函数或者重载<运算符来指定如何比较这些自定义类型的对象。比如可以使用lambda表达式或者自定义的比较函数作为min_element的第三个参数。示例代码如...
是的,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值最小的对象。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: C++中min_element能否用于自定义类型
本文地址: https://pptw.com/jishu/691210.html