让我们考虑这样的结构:如何命名C结构中的未命名字段?
struct {
int a;
int _reserved_000_[2];
int b;
int _reserved_001_[12];
int c;
};
保留项应该永远不会被读取或写入。我的结构代表了一个描述符来解决一个FPGA,在那里我得到了很多reserved
字段。我最终命名为随机命名,因为多年以后,最初的升序编号并不意味着任何东西。
所以我现在有:
struct {
int a;
int _reserved_3hjdds1_[2];
int b;
int _reserved_40iuljk_[12];
int c;
};
这将是刚刚空字段,而不是更方便:
struct {
int a;
int;
int b;
int;
int c;
};
但它不工作。
还有什么其他的选择可以避免为reserved
字段找到唯一的名称?
编写一个用于生成结构声明的代码生成器。让它为保留的成员创建顺序编号的名称。特别要注意的是,保留成员的名称是否改变并不重要,因为没有人应该访问这些成员。 –
你的意思是像'reserved _ ## __COUNTER__'这样的东西 – nowox
因为没有人应该使用保留字段,所以我不认为最初的升序编号是否有意义是多么重要 - 它只是用来使名称独一无二。我会坚持使用第一个版本...... – Dmitri