How to understand the C++ function object
This article mainly explains "how to understand C++ function objects". Interested friends may wish to have a look at it. The method introduced in this paper is simple, fast and practical. Now let the editor take you to learn "how to understand C++ function objects".
1. Function object and predicate
Conceptually, a function object is an object that is used as a function; in implementation, a function object is an object that implements the operator () class.
In fact, functions and function pointers belong to function objects, but only objects of classes that implement operator () can save the values of member properties of the class and can be used in the Standard template Library (STL) algorithm.
There are two types of function objects commonly used in STL algorithms:
Unary function: a function that takes a parameter, such as f (x). If the function returns a Boolean value, the function is a predicate.
Binary function: a function that takes two parameters, such as f (x ~ () y). If the function returns a Boolean value, the function becomes a binary predicate.
two。 Typical uses of function objects
Understand how function objects work through the following program:
Unary function:
# include#include#include#includeusing namespace std;templatestruct DisplayElement {void operator () (const elementType& element) const {cout