Preprocessor macro using caret ^ symbol at the start of an expression
问题 Looking at this page: http://www.mikeash.com/pyblog/friday-qa-2010-12-31-c-macro-tips-and-tricks.html I found this snippet of code with ^{ ... }() syntax, what are the caret/brackets doing? #define MAX(x, y) (^{ \ int my_localx = (x); \ int my_localy = (y); \ return my_localx > my_localy ? (my_localx) : (my_localy); \ }()) It looks like its creating an anonymous function or something. What is this concept called? Where can I read about it? 回答1: It's a C block. It's quite like an anonymous