std::less是a是用於執行比較的函數類(<functional.h>)的成員。它被定義為一個函數對象類,用於小於不等式的比較,該比較器根據條件返回布爾值。這可用於更改給定函數的函數。它可以與各種標準算法一起使用,例如sort,lower_bound等。
頭文件:
#include <functional.h>
模板類別:
template <class T> struct less { // Declaration of the less operation bool operator() (const T& x, const T& y) const { return x < y; } // Type of first parameter typedef T first_argument_type; // Type of second parameter typedef T second_argument_type; // The result is returned // as bool type typedef bool result_type; };
用法:
std::less()
參數:該函數接受參數T的類型作為參數,以供函數調用進行比較。
返回類型:它根據條件返回布爾值(讓a和b為2個元素):
- 真正:如果a小於b。
- 假:如果a大於b。
下麵是C++中std::less的圖示:
程序1:
// C++ program to illustrate
// std::less function
#include <algorithm>
#include <functional>
#include <iostream>
using namespace std;
// Function to print array arr[]
void printArray(int arr[], int N)
{
for (int i = 0; i < N; i++) {
cout << arr[i] << ' ';
}
}
// Driver Code
int main()
{
int arr[] = { 26, 23, 21, 22,
28, 27, 25, 24 };
int N = sizeof(arr) / sizeof(arr[0]);
// Sort the array in increasing order
sort(arr, arr + N, less<int>());
// Print sorted array
printArray(arr, N);
return 0;
}
輸出:
21 22 23 24 25 26 27 28
程序2:
// C++ program to illustrate less
#include <iostream>
#include <algorithm>
#include <functional>
using namespace std;
// Template
template <typename A, typename B,
typename U = std::less<int> >
// Function to check if a < b or not
bool f(A a, B b, U u = U())
{
return u(a, b);
}
// Driver Code
int main()
{
int X = 1, Y = 2;
// If X is less than Y or not
cout << std::boolalpha;
cout << f(X, Y) << '\n';
X = 2, Y = -1;
// If X is less than Y or not
cout << f(X, Y) << '\n';
return 0;
}
輸出:
true false
參考: http://www.cplusplus.com/reference/functional/less/
相關用法
- C語言 strtok()、strtok_r()用法及代碼示例
- C語言 memset()用法及代碼示例
- C++ std::mismatch()用法及代碼示例
- C++ wcscpy()用法及代碼示例
- C++ wcscmp()用法及代碼示例
- C# Array.GetValue()方法用法及代碼示例
- C++ set_symmetric_difference用法及代碼示例
- C++ ratio_equal()用法及代碼示例
- C++ std::equal_to用法及代碼示例
- C++ quick_exit()用法及代碼示例
- C++ multiset lower_bound()用法及代碼示例
- C++ multiset upper_bound()用法及代碼示例
- C++ multiset max_size()用法及代碼示例
- C++ forward_list max_size()用法及代碼示例
- C++ std::allocator()用法及代碼示例
- C++ array data()用法及代碼示例
- C++ multiset size()用法及代碼示例
注:本文由純淨天空篩選整理自akash_salvi大神的英文原創作品 std::less in C++ with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。