📅  最后修改于: 2023-12-03 14:39:54.500000             🧑  作者: Mango
min
min
是 C++ 中的一个非常常用的函数,用于返回两个值中的较小值。在头文件 <algorithm>
中定义,函数原型如下:
template <class T> const T& min (const T& a, const T& b);
其中,T
可以是任意数据类型,包括基本数据类型如整型、浮点型等,也可以是自定义的结构体或类。返回值是传入参数 a
和 b
两个值中较小的一个。由于返回值类型为 const T&
,因此函数不会改变传入的参数值。
下面是使用 min
函数的一些示例:
#include <iostream>
#include <algorithm>
int main() {
int a = 10, b = 20;
int c = std::min(a, b); // 返回 10,将其赋值给变量 c
std::cout << c << std::endl;
double x = 3.14, y = 2.71;
double z = std::min(x, y); // 返回 2.71,将其赋值给变量 z
std::cout << z << std::endl;
return 0;
}
值得注意的是,在比较结构体或类时,需要定义 operator<
函数,否则编译器不知道如何进行比较。下面是一个比较 Person
结构体对象的例子:
#include <iostream>
#include <string>
#include <algorithm>
struct Person {
std::string name;
int age;
bool operator<(const Person& other) const {
return age < other.age;
}
};
int main() {
Person p1{"Alice", 30}, p2{"Bob", 25};
Person p3 = std::min(p1, p2); // 返回 p2,因为 p2 的年龄更小
std::cout << p3.name << std::endl;
return 0;
}
本文介绍了 C++ 中的 min
函数,其定义在 <algorithm>
头文件中,可以返回两个值中较小的那个。函数可以用于任意数据类型,包括自定义的结构体和类。在比较结构体或类时,需要定义 operator<
函数。