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