SKILL BENCHMARK
C++ Functional Programming Proficiency (Advanced Level)
- 15m
- 15 questions
The C++ Functional Programming Proficiency benchmark will measure your ability 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. You will be assessed on your skills in defining and invoking a lambda function, performing context capture by value and by reference, and defining closures inside class methods. A learner who scores high on this benchmark demonstrates that they have the skills to define and use first-class functions and use lambdas and closures.
Topics covered
- capture variables and use default capture by copy
- capture variables by reference and from member methods
- create and invoke lambdas
- create and use function objects (functors)
- create function pointers and invoke functions through them
- define and work with lambda closures
- define function objects and function pointers
- invoke various functions through function pointers and identify the features and uses of function pointers
- Pass and accept functions as input arguments
- pass lambdas into functions
- return functions from other functions
- use and differentiate typedefs and type aliases
- use functors with templates
- use lambdas with Standard Template Library (STL) algorithms
- utilize templates with higher-order functions and type aliases