我有这个枚举:
enum ButtonState {
BUTTON_NORMAL = 0,
BUTTON_PRESSED = 1,
BUTTON_CLICKED = 2
};
const u8 NUM_BUTTON_STATES = 3;
在我的按钮类中,我有成员变量ButtonState state;
和ButtonColors colors[NUM_BUTTON_STATES];
。在绘制按钮时,我使用colors[state]
来获取按钮处于任何状态时的颜色。
我的问题:
- 这是好的编程风格吗?有更好的方法吗?(我通常只使用带有switch语句的枚举...使用枚举作为数组索引感觉不对。)
- 我必须指定枚举值吗?它似乎默认从0开始递增1,但它保证在所有编译器中都能按照这种方式工作吗?