📅  最后修改于: 2023-12-03 15:13:45.646000             🧑  作者: Mango
在C++标准库中,std::less_equal
是一个函数对象,它提供了小于等于的比较操作符。该函数对象可以用于STL中的各种算法,比如排序、查找等。
template <typename T> struct less_equal {
bool operator()(const T& x, const T& y) const;
};
其中,T
为可以进行小于等于比较的类型,operator()
是函数调用运算符,接受两个参数。如果x
小于或等于y
,则返回true
,否则返回false
。
下面是一个使用std::less_equal
的示例,它将一个int型数组按小于等于的顺序进行排序:
#include <iostream>
#include <algorithm>
#include <functional>
int main()
{
int arr[] = {3, 8, 1, 5, 2};
int n = sizeof(arr) / sizeof(arr[0]);
std::sort(arr, arr + n, std::less_equal<int>());
for(int i = 0; i < n; i++)
std::cout << arr[i] << " ";
return 0;
}
上述代码的输出结果是:8 5 3 2 1
。可以看到,std::less_equal<int>
函数对象被传递给了std::sort
算法,这样就实现了按小于等于的顺序进行排序。
注意,在使用std::less_equal
时,需要包含头文件<functional>
。
std::less_equal
是一个非常有用的函数对象,可以方便地进行小于等于比较操作。它具有很好的可移植性和通用性,建议学习并掌握。