void (*cJSON_free)(void *ptr) = free;
我在cJSON的源代码中发现了这样的函数定义,但是没有在《C++Primer》这本书中看到过,以前也没有见到过这种用法,请知道的大神们说下吧。
这行代码等价于 :
void (*)(void *ptr) cJSON_free ;
cJSON_free = free;
这里先定义了一个函数指针类型 void (*)(void *ptr),然后将库函数 free赋值给他。
函数指针把?不是函数定义i
C++可以这样赋值吗?前面的只是函数指针声明吧。
这是函数指针的使用, 很简单的函数指针, 比较基本, 百度一下, 会有很多的答案。