First-class Functions in C++: Defining & Using First-class Functions

placeholder

While C++ is considered an object-oriented language it provides support for functional programming including support for first-class functions in three manners: function pointers function objects and lambdas. In this course discover the complexity of C-style function pointers by creating them and invoking functions through them. Next learn about the various features and uses of function pointers and how to accept functions as input arguments and return functions from a higher-order function. Finally examine function objects (functors) and use them to overload the call operator instantiate objects and use the overloaded call operator. Upon completion youll be able to list the properties of C++ first-class functions create function pointers return functions from a higher-order function and define and invoke a functor.