Home > Backend Development > C++ > What are the commonly used STL function objects in the C++ standard library?

What are the commonly used STL function objects in the C++ standard library?

王林
Release: 2024-04-25 13:06:02
Original
467 people have browsed it

C STL provides a variety of function objects that can be used to compare, sort and operate elements. Common function objects include less for ascending sorting, greater for descending sorting, equal_to for comparing equality, and bind2nd and mem_fn for binding function parameters. In practice, you can sort an array in descending order by using the greater function object, as follows: Using the sort() function, the greater function object will sort the elements in the specified range in descending order.

C++ 标准库中有哪些常用的 STL 函数对象?

Commonly used STL function objects in the C standard library

The function object, namely Functor, is a function object that can be called and returned The result object. The C standard library provides many useful STL function objects for use in a variety of algorithms and operations.

The following are some commonly used function objects in C STL:

  • less: Comparison function used to sort elements (ascending order ).
  • greater: Comparison function used to sort elements (descending order).
  • equal_to: Equal comparison function, used to check whether two elements are equal.
  • not_equal_to: Not equal to comparison function, used to check whether two elements are not equal.
  • greater_equal: Greater than or equal to comparison function, used to check whether an element is greater than or equal to another element.
  • less_equal: Less than or equal to comparison function, used to check whether one element is less than or equal to another element.
  • bind2nd: Binds a parameter of the function object and returns the bound function object.
  • mem_fn: Creates a function object that creates a function object from a member function pointer.

Practical case:

Use the greater function object to sort the integer array in descending order:

#include <algorithm>
#include <vector>

using namespace std;

int main() {
  vector<int> myVector = {1, 3, 5, 2, 4};

  // 使用 greater 函数对象对 myVector 中的元素进行降序排序
  sort(myVector.begin(), myVector.end(), greater<int>());

  // 输出排序后的数组
  for (auto it = myVector.begin(); it != myVector.end(); ++it) {
    cout << *it << " ";
  }
  cout << endl;

  return 0;
}
Copy after login

Output:

5 4 3 2 1
Copy after login

The above is the detailed content of What are the commonly used STL function objects in the C++ standard library?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template