函数指针是指向函数的指针变量。
C++里面的结构体相当于OC里面的类 类就有变量和方法
C++里面跟类名一样的方法是构造方法 构造方法是用来初始化当前方法的
blcok底层实现
首先会创建一个结构体 _main_block_impl_0
blcok变量 是函数指针 -> void(^blcokName)()
block块对象 才是一个结构体 是有大量存储空间的
block块对象是结构体 结构体里面有自己的构造方法 来创建自己 构造方法里面需要传入4个参数
void *fp 保存一段函数 将来要执行的那个代码块
_main_block_desc_0 *desc 描述自己大小的一个结构体
int _a 保存之前传递进去的变量(blcok)内部使用外部变量 只穿block内部用到的变量
int flags 仅仅是个标记
函数调用 其实就是找到fp记录的代码块,再传入block本身,在代码块中就能访问到block里面记录的变量_a的值。
网友评论