我正在阅读这篇文章(通过(ab)使用预处理器进行的结构迭代),其中作者使用 x-macrosoffsetof
并将元数据添加到结构中,这将允许其成员轻松序列化、按名称访问等。但它只是为原始结构元素实现。
是否可以将其扩展为包含嵌套结构的结构?即允许对以下内容进行简单的反序列化的东西:
struct some_struct {
int x, y, z;
};
struct data {
int number;
struct some_struct something;
};
我注意到作者在一开始就说明了这一点:
在这个阶段,结构仅由原始元素(int、float、char 等)组成。处理嵌套结构、联合、位域和指针需要额外的工作(这可能是未来帖子的主题)。
使用 C 预处理器可以实现这样的事情吗?
(澄清)
为了更清楚,我想看看是否有一种方法可以让我:
a) 定义struct
, 和
b) 为文本序列化/反序列化创建元数据
如果可能的话,一步到位。