Functions in C can be used as data of function type
C++ supports lambda expressions (closures)
C++ also supports function objects (by overload of operator() such that an object my be used as a function