Chapter 19,20 까지

Callback

Function Object, Functor

Function Pointer

using Matcher = bool(*)(int, int);

Member Function Pointer

int (Employee::*methodPtr) () const { &Employee::getSalary };
Employee employee { "John", "Doe" };
cout << (**employee.*methodPtr**)() << endl;

std::function

std::function<R(ArgTypes...)>

transparent operator

vector<int> values { 1, 2, 3 };
double result { accumulateData(cbegin(values), cend(values), 1.1, multiplies<>{}) };