返回信息流云风的 BLOG发表于2009-10-16 13:42:25
不支持 closure 的语言用起来真是太难受了。
前段时间有同事在用 boost 的时候想用一个匿名的 struct 实现一个 functor 模拟出 closure 来用。可耻的失败鸟。迎接他的是一大坨的 template 编译错误。我这个久久不碰 C++ 的碰观者就有机会在一旁幸灾乐祸了。固然这是因为对 C++ 语言的犄角旮旯认识不足导致的,若是早几年,说不定我还拿这个作为招聘的高级笔试题呢。现在,我只会指责,语言怎么可以设计成这样。
给语言加新特性并不可怕。因为我们最终是要用语言解决问题的。
Apple 给 C/C++ 加的 Blocks 扩展就是这么一个好东西。
简单说,就是给 C 加了一个 closure 的支持。
这个东西不太可能用纯粹库的形式提供。(即使 boost 提供了多么神奇的方案来模拟,终归是有先天缺陷的)
clang 已经支持了 blocks , gcc 貌似也将加入。
至于 vc 等等,我就不关心了,很多年不用闭源的编译器。
ref: http://en.wikipedia.org/wiki/Blocks_(C_language_extension)
这是一条镜像帖。来源:北邮人论坛 / cpp / #30007同步于 2009/10/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[zz]神啊,C 终于开始支持 closure 了
wks
2009/10/16镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复