📜  C ++中的std :: less_equal及其示例(1)

📅  最后修改于: 2023-12-03 15:13:45.646000             🧑  作者: Mango

C++中的std::less_equal及其示例

在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是一个非常有用的函数对象,可以方便地进行小于等于比较操作。它具有很好的可移植性和通用性,建议学习并掌握。