黑马程序员技术交流社区

标题: block [打印本页]

作者: 1722413885    时间: 2014-4-21 23:28
标题: block
int (^sumblock)(int,int) = ^(int a,int b){return a+b;};
与函数int  sum(int a,intb){ return a+b;}
函数与block的区别,和使用场合?

作者: 程序猿-2014    时间: 2014-4-22 01:14
      Block除了能够定义参数列表、返回类型外,还能够获取被定义时的词法范围内的状态(比如局部变量),并且在一定条件下(比如使用__block变量)能够修改这些状态。此外,这些可修改的状态在相同词法范围内的多个block之间是共享的,即便出了该词法范围(比如栈展开,出了作用域),仍可以继续共享或者修改这些状态。

通常来说,block都是一些简短代码片段的封装,适用作工作单元,通常用来做并发任务、遍历、以及回调。
其实个人感觉他们没什么可比性




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2