假设以下 C 代码:
#define SOME_MACRO(m) \
void (*f)(m); \
unsigned int a; \
int *self;
然后是一个
的结构typedef struct _Str {
SOME_MACRO(whatever)
char sthg[2];
} STR;
我的问题是:这个设计选择的目的是什么?例如,并不是说我们在间接方面节省了时间。除了尝试模块化_STR
答案 0 :(得分:3)
我的项目使用该模式来确保每个项目类中都有某些方法/成员(例如,用于编组)。再没有更多的例子,没有办法确认,但这是我的理论。
答案 1 :(得分:0)
SOME_MACRO(m)转换为函数指针,该函数指向不返回任何类型m
的一个参数的函数,还有一个unsigned int和一个指向int的指针。我相信这样的设计原因是高度特定于案例的,没有更详细的代码示例,我相信这会用于模块化你提到的代码。
答案 2 :(得分:-1)
仅从您提供的代码中,我也无法做出解释,但它看起来很简单,所以我认为它只是一个新程序员的测试宏因为" SOME_MACRO" =一些宏测试代码...
的含义