Что такое (double (^) (int)) foofoo - PullRequest
       15

Что такое (double (^) (int)) foofoo

6 голосов
/ 24 августа 2010

Существует пример на cdecl , который идет (double (^)(int))foofoo означает бросить foofoo в блок (int), возвращая double .

Что означает приведение foofoo в «блок» из int ? Что символ ^ точно означает в этом контексте. Обычно это битовый XOR.

1 Ответ

12 голосов
/ 24 августа 2010

Это расширение GCC, разработанное Apple и реализованное также в Clang.Блоки - это маленькие безымянные функции, и этот синтаксис является типом блока.См. Спецификация языка блокировки .

...