我正在努力学习和有效地使用积木。
在网络上,我看到了这样的代码:
long long (^blockFun)() = (long long (^)())moreBlockFun;我认为它正在尝试创建一个期望返回long的块,并且我认为它也在某处进行一些强制转换。
发布于 2009-10-06 17:06:51
这是一个块类型转换,是的,语法不是很好。我们假设moreBlockFun是一个不带参数的块,并返回一个合理的long long类型转换--这个类型的签名被写成long long (^)()。因此,我们使用语法long long (^blockFun)()为该块创建一个名为blockFun的新本地名称,并执行强制转换。
它是一团乱七八糟的东西,主要是从函数指针类型符号继承而来的,几乎每个C程序员在记住它之前都必须查找大约482次。你并不孤单!
https://stackoverflow.com/questions/1526849
复制相似问题