写起来很爽:
#define _(a,b) a##b
#define __(a) #a
#define $(x) (x)(x)
typedef int (*f) (int);
int fib(int n) { return n<2 ? n : fib(n-1)+fib(n-2); }
int main() {
f _(_fun, c) = fib;
int n = 10;
printf("%s(%d) = %d\n", __("fib"), n, _(_fun, c)(n));
return 0;
}
【 在 flycoffee 的大作中提到: 】
: 单位有人喜欢代码里大量使用宏函数 ,甚至宏函数定里面还嵌套使用宏函数 ,对于我这个菜C的人看着真别扭 。看懂真的很费劲 ,感觉就是以让别人看不懂为荣 。接手维护他的代码真是噩梦,其实解决都是些增删改查的简单问题哈
--
FROM 222.131.220.*