A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1722413885 中级黑马   /  2014-4-21 23:28  /  850 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int (^sumblock)(int,int) = ^(int a,int b){return a+b;};
与函数int  sum(int a,intb){ return a+b;}
函数与block的区别,和使用场合?

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

1 个回复

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

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

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马