函数指针和指针函数
顾名思义 函数指针本质未指针,指针函数本质为函数 最简单的辨别看函数名最近的指针*号有没有被括号()包含 指针函数:返回值为指针的函数 int *fun(): 定义函数指针的几种方法
void (*funcPtr)(int x);
typedef void (*FuncPtrType)(int );
using FP = void (*) (int);
std::function
std::function 是一个可调用对象包装器,是一个类模板,可以容纳除了类成员函数指针之外的所有可调用对象,它可以用统一的方式处理函数、函数对象、函数指针,并允许保存和延迟它们的执行。
template<class _Rp, class ..._ArgTypes>
class _LIBCPP_TEMPLATE_VIS function<_Rp(_ArgTypes...)>
使用示例
int add(int a, int b){return a+b;}
auto mod = [](int a, int b){ return a % b;}
std::function<int(int ,int)> a = add;
std::function<int(int ,int)> b = mod ;
|