2011-07-23 51 views

回答

5

通常,您從零開始,最後一個成員給出排除它的枚舉大小。

enum C { id = 0, value, size }; 

C::size是枚舉的大小。是否可以通過下標訪問這些常量?不,不幸的是,這絕對不可能。然而,在這種情況下,你並不是真的想要枚舉 - 你只是想要一個常量數組。

+0

單詞***通常***是關鍵:) –

+4

實際上,它只是'size',而不是'C :: size'。枚舉將它們的常量值注入到包含範圍中。因此,通常您希望使用'C_size'或其他名稱來代替 – bdonlan

1

用於一個常見的成語是

enum C { 
    id, 
    value, 
    LAST_ENUM_C // or something similar. 
}; 

但是,在枚舉值這裏假定沒有間隙(即,無id = 3, value = 15)。