2024-09-07
程序开发中,对变量进行合适命名是一件麻烦的事情。所以很多编程语言提供了Lamdba
匿名函数。可是C
语言作为早期的编程语言,并不支持Lamdba
表达式。不过可以通过宏
来模仿。
#include <stdio.h>
#define LAMDBA(return_type, args_type, block) \
({ \
return_type _ args_type block; \
_; \
})
int main(int argc, char *argv[]) {
int sum = LAMDBA(int, (int a, int b), {
return a + b;
})(1, 2);
printf(""1 + 2 = %d\n"", sum);
return 0;
}
上面的例子需要通过gcc
来进行编译。