函数对象和函数调用运算符
A.What(函数对象)
如果类定义了函数调用运算符,则该类的对象称为函数对象
其中重载的运算符operator()被称为函数调用运算符
B.Which(有哪些可调用函数对象)
函数:一般函数,如
int add(int a, int b){return a+b;}
函数指针:指向函数的指针,如int *pf(int, int); pf = add;
lambda函数对象:本质是一个匿名函数,[](int a, int b)(return a+b;}
bind创建的对象
重载了函数调用符的类对象
C.函数对象lambda
lambda的引用捕获
注意:使用[&]可以引用捕获作用域内所有变量
lambda的值捕获: