ano*_*non 7 c++ objective-c clang objective-c-blocks clang-extensions
http://clang.llvm.org/docs/BlockLanguageSpec.txt
看起来很酷.
然而,
任何人都可以启发我吗?
sel*_*tze 10
NanoTech已经与块的解释联系在一起.至于如何这涉及到C++让我说出我个人的意见:该扩展不使用C++非常有用.原因如下:
关于块引用类型:我们已经有了"多态函数",可以携带一些状态,参见boost :: function,tr1 :: function.C++将在其下一个标准库中包含一个抛光版本."C Blocks"的优势在于你不需要像Block_copy
和C这样的东西搞乱Block_release
.这些多态函数对象足够聪明,可以进行自己的内存管理.
关于块文字语法:它是一个很好的语法,允许您将代码放在"所属"的位置,而无需太多的样板代码.但这同样适用于它的C++计数器部分:C++ 0x lambdas.但是C++ 0x lambda特性还允许您在紧密的内部循环中使用lambda对象,而不会因为可能的内联而导致函数调用的高性能成本.
由于C++ 0x中的lambda表达式可以在性能的情况下也可使用的问题和std ::功能是比较容易处理WRT内存管理除"C块"的,以C++似乎是多余的."C块"似乎更适合不支持模板或析构函数的语言.
归档时间: |
|
查看次数: |
4134 次 |
最近记录: |