查看此页面:http://www.mikeash.com/pyblog/friday-qa-2010-12-31-c-macro-tips-and-tricks.html
我发现这段代码带有 ^{
... }()
语法,插入符号/方括号在做什么?
#define MAX(x, y) (^{ \
int my_localx = (x); \
int my_localy = (y); \
return my_localx > my_localy ? (my_localx) : (my_localy); \
}())
它看起来像是在创建一个匿名函数之类的。这个概念叫什么?我在哪里可以阅读它?
最佳答案
这是一个C block 。它很像一个匿名函数(在使用中,而不是在结构中)。您可以在 Mike Ash 的网站和 Apple's documentation 中阅读更多关于它们的信息.
关于objective-c - 在表达式开头使用脱字符 ^ 符号的预处理器宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6852291/