我發現自己總是追加枚舉的名稱,它的值,因爲否則我經常與其他枚舉衝突,例如:確保用C枚舉名的唯一無添加長前綴
typedef enum
{
A_ONE,
A_TWO,
} A;
typedef enum
{
B_ONE,
B_TWO,
} B;
有一個更好的方式來做到這一點在C?
我發現自己總是追加枚舉的名稱,它的值,因爲否則我經常與其他枚舉衝突,例如:確保用C枚舉名的唯一無添加長前綴
typedef enum
{
A_ONE,
A_TWO,
} A;
typedef enum
{
B_ONE,
B_TWO,
} B;
有一個更好的方式來做到這一點在C?
不,沒有。 C++具有名稱空間或枚舉(IIRC)中存在的枚舉,但C在這方面非常原始。
這是你自己的決定,但你可以使用#define指令
#define WHAT_EVER TO_BE_REPLACED
定義將從WHAT_EVER
在你的代碼被替換爲TO_BE_REPLACED
。
在預處理程序運行後拋出代碼後,所有代碼都將被替換。
這是如何解決問題的問題? –
相關:http://stackoverflow.com/q/2161940/335858(簡短答案是「否」)。 – dasblinkenlight
問題的另一個例子:'enum fruit {orange,apple,banana};枚舉顏色{紅色,橙色,黃色,綠色,藍色,靛藍,紫色};' –