新入职一家公司,看源码的时候发现的,用define的方法花式定义枚举,类似下面的风格
#define XXXXEnum(declare) \
declare(XIAOMING, "xiaoming") \
declare(XIAOHONG, "xiaohong") \
declare(XIAOWANG, "xiaowang") \
declare(XIAOQIANG, "xiaoqiang")
#define NAME_SELECT_1_2(p1, p2) p1,
enum YYYY {XXXXEnum(NAME_SELECT_1_2)};
一眼看能理解意思,但是从原理上理解还是有点绕的