讓我們考慮這樣的結構:如何命名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