
函数对象
- 函数指针:
指向函数的指针。
例子:double (*func)(int a, float b)
-
函数指针作参数:
12void Fun ( double(* paramFunc)(int a, float b), float param2 ){...} -
函数指针作为返回值:
1234double (*Fun(float a, float b)) (int a, float b){return func;}
- 函数对象
- 重载()运算符
|
|
- lambda表达式
[…] (…) {…}
1auto Func = [&, b] (int param) -> double {return param + a + b;}
以上三者都是可调用类型(callable type),可统一用std::function来表示
c++11提供多种包装器,bind, function, mem_fn, reference_wrapper。




近期评论