C“块”插入符号

问题描述 投票:2回答:2

[我注意到this declaration involving a caret (^) character固定在顶部的cdecl.org网站上:

// "cast foo into block(int, long long) returning double"
(double (^)(int , long long ))foo

有人可以在这里解释插入符号的目的是什么?这真的是C声明中的有效字符,还是某个内容的占位符?

c declaration caret
2个回答
1
投票

插入符号是C语言扩展的一部分,可与blocks一起使用。块是Clang和Apple的GCC支持的C语言的扩展。它不是严格符合C的语言(也就是说,它不是C标准定义的核心C语言的一部分)。


0
投票

被称为Block Variable Declaration。使用功能指针样式表示法声明具有Block Variable Declaration的变量,用Block type代替^

© www.soinside.com 2019 - 2024. All rights reserved.